postgresql中如何查看seq的当前值?
因为做开发,会直接在数据库里修改各种id,导致seq值不一致。然后程序无法顺利添加新的记录。请问有什么方法可以查看某个表的当前seq值?
adoll8
10 years, 5 months ago
Answers
一般情况下, 一个sequence的名字,通常被命名为${table}idseq。
下面这个语句可以列出所有的seq:
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
要得到最后一个值 和 递增值,可以用下面的语句
SELECT last_value, increment_by FROM example_id_seq;
要得到 下一个值,使用语句如下:
SELECT nextval('example_id_seq');
当执行完 nextval()后,你可以用currval()来查看 当前值:
SELECT currval('example_id_seq');
注意: currval在一开始是没有值的。
bobgb
answered 10 years, 5 months ago