PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

SET IDENTITY_INSERT postgresql

Non hai bisogno di set identity_insert in Postgres.

Basta inserire i dati nella tabella.

Quello che devi fare, tuttavia, è risincronizzare le sequenze che si trovano dietro la colonna serial ("incremento automatico") usando setval() funzione:

select setval(pg_get_serial_sequence('my_table', 'my_serial_column'), 
              (select max(my_serial_column) from my_table) 
       ); 

Se la colonna non è definita come serial ma "solo" ha un valore predefinito preso da una sequenza, devi fornire il nome della sequenza "manualmente"

select setval('my_sequence_name', (select max(my_serial_column) 
                                   from my_table)
       ); 

Modifica

Ecco un esempio SQLFiddle:http://sqlfiddle.com/#!15/690ea/1