1. 创建序列:
CREATE SEQUENCE table_name_id_seq;
2. 将序列与表的列关联:
ALTER TABLE table_name ALTER COLUMN id SET DEFAULT nextval('table_name_id_seq');
3. 设置序列的起始值、递增步长和最大值
// 将序列的起始值设置为 1 ALTER SEQUENCE table_name_id_seq START WITH 1; // 将序列的递增步长设置为 1 ALTER SEQUENCE table_name_id_seq INCREMENT BY 1; // 将序列的最大值设置为 10000 ALTER SEQUENCE table_name_id_seq MAXVALUE 10000;
其他
SELECT MAX(id) FROM app_public.expense_list; //查询序列值 select * from app_public.expense_list_id_seq; //查询某个表的 自增ID序列 select pg_get_serial_sequence('app_public.expense_list', 'id'); //设置自增序列 方法一 起始值 为199 select setval('app_public.expense_list_id_seq', 199); //is_called 为false 下次nextval(app_public.expense_list_id_seq) 返回值是 200 // 方法二 ALTER SEQUENCE app_public.expense_list_id_seq RESTART WITH 199; // is_called 为false 下次nextval(app_public.expense_list_id_seq) 返回值是当前值 199
用以下命令查看当前序列的值:
使用nextval函数可以返回下一个最新的序列值,并使序列递增。
SELECT nextval('table_name_id_seq');