从postgres中的几个记录更新串行字段的增量

时间:2016-11-17 14:26:56

标签: sql postgresql increment

我想更改使用Sequencial ID的所有列的增量值。我该怎么办?

我尝试了以下两种方法,都失败了:

UPDATE information_schema.sequences SET increment=1;

这不起作用,因为information_schema.sequences它是一个视图。

我还尝试使用ALTER SEQUENCE,最后添加一个FROM,如:

ALTER SEQUENCE A.sequence_name INCREMENT BY 2 FROM (SELECT * FROM information_schema.sequences) AS A

但是我收到语法错误。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

尝试使用docs

中的setval

OR

ALTER SEQUENCE... RESTART WITH...,如here

所述

已编辑两次

示例如何更改拥有架构中的所有序列:

do
$$
declare
i record;
begin
for i in (select * from information_schema.sequences) loop
execute $e$ALTER SEQUENCE $e$||i.sequence_name||$e$ INCREMENT BY 2$e$;
end loop;
end;
$$
;
DO