Como criar uma sequência particionada do PostgreSQL?

Existe uma maneira simples (ou seja, não hacky) e livre de condições de corrida para criar uma sequência particionada no PostgreSQL. Exemplo:

Usando uma sequência normal no problema:

| Project_ID | Issue |
| 1          | 1     |
| 1          | 2     |
| 2          | 3     |
| 2          | 4     |

Usando uma sequência particionada no problema:

| Project_ID | Issue |
| 1          | 1     |
| 1          | 2     |
| 2          | 1     |
| 2          | 2     |

questionAnswers(1)

yourAnswerToTheQuestion