Bạn nên đặt lại trình tự trong cơ sở dữ liệu trước bất kỳ lần chèn nào bằng cách sử dụng các giá trị được tạo tự động. Nó phụ thuộc nhiều vào bảng DDL. Có hai ví dụ cho tự động đăng nhập của ID được sử dụng nhiều nhất:
/*
-- Be careful with these 3 lines if you already have such objects in the your DB
drop table if exists t1;
drop table if exists t2;
drop sequence if exists seq_t2_id;
*/
-- Using serial type for ID
create table t1 (t1_id serial, t1_name char varying);
insert into t1 (t1_id, t1_name) values (22, 'aaa');
select setval(pg_get_serial_sequence('t1', 't1_id'), (select max(t1_id) from t1)); -- Reset serial value
insert into t1 (t1_name) values ('bbb');
select * from t1;
-- Using sequence to generate IDs
create sequence seq_t2_id;
create table t2(t2_id bigint default nextval('seq_t2_id'), t2_name char varying);
insert into t2(t2_id, t2_name) values (22, 'aaa');
select setval('seq_t2_id', (select max(t2_id) from t2)); -- Update sequence
insert into t2 (t2_name) values ('bbb');
select * from t2;