"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como redefinir a sequência de chaves primárias do Postgres fora de sincronia com linhas de tabela?

Como redefinir a sequência de chaves primárias do Postgres fora de sincronia com linhas de tabela?

Postado em 2025-04-17
Navegar:278

How Can I Reset a Postgres Primary Key Sequence Out of Sync with Table Rows?

Resolvando PostGresql Primária sequência de chaves Discrepâncias

! Isso geralmente acontece durante as importações de dados ou restaurações em que a integridade da sequência não é preservada. Veja como consertar:

1. Encontre o ID mais alto:

use a função

max () para identificar o maior id em sua tabela:

SELECT MAX(id) FROM your_table;

2. Obtenha o próximo valor da sequência:

Esta consulta mostra o próximo valor gerado da sequência:

SELECT nextval('your_table_id_seq');
Se o próximo valor da sequência for menor que o ID máximo da tabela, redefina a sequência dentro de uma transação para evitar inserções simultâneas:

COMEÇAR; Tabela de bloqueio seu_table em modo exclusivo; Selecione SetVal ('Your_table_id_seq', (selecione Maior (max (your_id), nextVal ('your_table_id_seq') - 1) do seu_table)); COMPROMETER-SE;

 fonte:  adaptado de um fórum rubi discussão. 
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3