PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

SERIAL personalizado/incremento automático por grupo de valores


Isso foi perguntado muitas vezes e a ideia geral é comprometida a falhar em um ambiente multiusuário - e um sistema de blog soa exatamente como esse caso.

Portanto, a melhor resposta é:Não. Considere uma abordagem diferente.

Solte a coluna category_id completamente da sua tabela - ela não armazena nenhuma informação nas outras duas colunas (id, category) não armazenaria já.

Seu id é um serial coluna e já incrementa automaticamente de forma confiável.
  • Função SQL de incremento automático

Se você precisar algum tipo de category_id sem lacunas por category , gere-o rapidamente com row_number() :
  • Números de série por grupo de linhas para chave composta