如何重建pgsql的序列号

一般我们用一下语句重建序列号:

ALTER SEQUENCE payroll_analysis.sys_dict_item_id_seq RESTART WITH 64

64为这个表最大的id。

但可能会出现以下情况:

ERROR: relation "payroll_analysis.sys_dict_item_id_seq" does not exist

!!!序列号的名字不对

如何查找表的序列号呢?


SELECT column_name, column_default

FROM information_schema.columns

WHERE table_name = 'sys_dict_item' AND column_default LIKE 'nextval%';

那么下图的sys_dict_item_seq就是序列号名字!!!

C4FAAC76-E0EB-4F27-892F-19833E18045C.png

最后用下面指令即可重建序列号:

SELECT setval('sys_dict_item_seq', (SELECT MAX(id) FROM sys_dict_item));

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容