Creo que su problema es que configuró todo esto a mano en lugar de usar un serial
columna. Cuando usas un serial
columna, PostgreSQL creará la secuencia, configurará el valor predeterminado adecuado y se asegurará de que la secuencia sea propiedad de la tabla y la columna en cuestión. Del buen manual :
Pero no estás usando serial
o bigserial
entonces pg_get_serial_sequence
no ayudará.
Puede remediar esto haciendo:
alter sequence new_user_messages_id owned by user_messages.id
No estoy seguro de si esta es una solución completa y alguien (hola Erwin) probablemente completará las partes que faltan.
Puede ahorrarse algunos problemas aquí usando serial
como el tipo de datos de su id
columna. Eso creará y conectará la secuencia por ti.
Por ejemplo:
=> create sequence seq_test_id;
=> create table seq_test (id integer not null default nextval('seq_test_id'::regclass));
=> select pg_catalog.pg_get_serial_sequence('seq_test','id');
pg_get_serial_sequence
------------------------
(1 row)
=> alter sequence seq_test_id owned by seq_test.id;
=> select pg_catalog.pg_get_serial_sequence('seq_test','id');
pg_get_serial_sequence
------------------------
public.seq_test_id
(1 row)