Saya pikir masalah Anda adalah Anda mengatur semua ini dengan tangan daripada menggunakan serial
kolom. Saat Anda menggunakan serial
kolom, PostgreSQL akan membuat urutan, mengatur nilai default yang sesuai, dan memastikan bahwa urutan dimiliki oleh tabel dan kolom yang bersangkutan. Dari manual bagus :
Tapi Anda tidak menggunakan serial
atau bigserial
jadi pg_get_serial_sequence
tidak akan membantu.
Anda dapat memperbaikinya dengan melakukan:
alter sequence new_user_messages_id owned by user_messages.id
Saya tidak yakin apakah ini solusi lengkap dan seseorang (hai Erwin) mungkin akan mengisi bagian yang hilang.
Anda dapat menyelamatkan diri dari beberapa masalah di sini dengan menggunakan serial
sebagai tipe data id
your Anda kolom. Itu akan membuat dan menghubungkan urutannya untuk Anda.
Misalnya:
=> 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)