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

SET IDENTITY_INSERT postgresql


Você não precisa de set identity_insert em Postgres.

Basta inserir os dados em sua tabela.

No entanto, o que você precisa fazer é sincronizar novamente as sequências que estão por trás da coluna serial ("incremento automático") usando o setval() função:
select setval(pg_get_serial_sequence('my_table', 'my_serial_column'), 
              (select max(my_serial_column) from my_table) 
       ); 

Se a coluna não estiver definida como serial mas "somente" tem um valor padrão obtido de uma sequência, você precisa fornecer o nome da sequência "manualmente"
select setval('my_sequence_name', (select max(my_serial_column) 
                                   from my_table)
       ); 

Editar

Aqui está um exemplo do SQLFiddle:http://sqlfiddle.com/#!15/690ea/1