sql >> Base de Datos >  >> RDS >> PostgreSQL

ESTABLECER IDENTIDAD_INSERTAR postgresql

No necesita set identity_insert en Postgres.

Simplemente inserte los datos en su tabla.

Sin embargo, lo que debe hacer es volver a sincronizar las secuencias que están detrás de su columna serial ("incremento automático") usando setval() función:

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

Si la columna no está definida como serial pero "solo" tiene un valor predeterminado tomado de una secuencia, debe proporcionar el nombre de la secuencia "manualmente"

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

Editar

Aquí hay un ejemplo de SQLFiddle:http://sqlfiddle.com/#!15/690ea/1