修改為指定值
DO $$DECLARE r record;
BEGIN
FOR r IN SELECT sequence_name FROM information_schema."sequences"
LOOP
EXECUTE 'ALTER SEQUENCE '|| r.sequence_name ||' restart WITH 10000';
END LOOP;
END$$;
根據(jù)表的id修改
DO $$
DECLARE
r record;
start_value integer := 0;
BEGIN
FOR r IN SELECT tablename||'_id_seq' AS sequence_name, tablename FROM pg_tables WHERE schemaname = 'public'
LOOP
EXECUTE 'SELECT max(id)+1 AS max_value FROM ' || r.tablename INTO start_value;
IF start_value IS NULL THEN start_value:= 1;
END IF;
RAISE NOTICE 'start_value % %', r.tablename,start_value;
EXECUTE 'ALTER SEQUENCE '|| r.sequence_name ||' restart WITH ' || start_value;
END LOOP;
END$$;
補充:postgresql 13 數(shù)據(jù)庫 sequence 的 maxvalue 最大值是多少?
os: centos 7.8.2003
db: postgresql 13.0
版本
# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)
# su - postgres
Last login: Thu Oct 15 09:59:33 CST 2020 on pts/1
ppostgres@nodepg13-> psql -c "select version();"
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 13.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)
create sequence
$ psql
postgres=# create sequence seq_1;
CREATE SEQUENCE
postgres=# select c.relname,c.relkind,s.* from pg_class c,pg_sequence s where c.oid=s.seqrelid;
relname | relkind | seqrelid | seqtypid | seqstart | seqincrement | seqmax | seqmin | seqcache | seqcycle
---------+---------+----------+----------+----------+--------------+---------------------+--------+----------+----------
seq_1 | S | 40968 | 20 | 1 | 1 | 9223372036854775807 | 1 | 1 | f
(1 row)
seqmax = 9223372036854775807
maxvalue
NO MAXVALUE
The optional clause MAXVALUE maxvalue determines the maximum value for the sequence. If this clause is not supplied or NO MAXVALUE is specified, then default values will be used. The default for an ascending sequence is the maximum value of the data type. The default for a descending sequence is -1.
那就需要查看下 bigint 的值

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- pgsql 如何刪除仍有活動鏈接的數(shù)據(jù)庫
- pgsql的UUID生成函數(shù)實例
- pgsql 如何手動觸發(fā)歸檔
- PGSQL實現(xiàn)判斷一個空值字段,并將NULL值修改為其它值
- pgsql 實現(xiàn)用戶自定義表結構信息獲取
- pgsql鎖表后kill進程的操作
- PGSQL 實現(xiàn)把字符串轉換成double類型(to_number())
- pgsql添加自增序列、設置表某個字段自增操作
- pgsql之pg_stat_replication的使用詳解