pgsql批量修改sequences的start方式
修改為指定值
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$$;
補(bǔ)充: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 的值
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- pgsql 如何刪除仍有活動(dòng)鏈接的數(shù)據(jù)庫
- pgsql的UUID生成函數(shù)實(shí)例
- pgsql 如何手動(dòng)觸發(fā)歸檔
- PGSQL實(shí)現(xiàn)判斷一個(gè)空值字段,并將NULL值修改為其它值
- pgsql 實(shí)現(xiàn)用戶自定義表結(jié)構(gòu)信息獲取
- pgsql鎖表后kill進(jìn)程的操作
- PGSQL 實(shí)現(xiàn)把字符串轉(zhuǎn)換成double類型(to_number())
- pgsql添加自增序列、設(shè)置表某個(gè)字段自增操作
- pgsql之pg_stat_replication的使用詳解
相關(guān)文章
PostgreSQL更新表時(shí)時(shí)間戳不會(huì)自動(dòng)更新的解決方法
這篇文章主要為大家詳細(xì)介紹了PostgreSQL更新表時(shí)時(shí)間戳不會(huì)自動(dòng)更新的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋
這篇文章主要介紹了postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01在Ubuntu中安裝Postgresql數(shù)據(jù)庫的步驟詳解
PostgreSQL 是一款強(qiáng)大的,開源的,對(duì)象關(guān)系型數(shù)據(jù)庫系統(tǒng)。它支持所有的主流操作系統(tǒng),包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操作系統(tǒng)。本文給大家介紹了在Ubuntu中安裝Postgresql數(shù)據(jù)庫的步驟,需要的朋友可以參考下。2017-09-09postgresql連續(xù)歸檔及時(shí)間點(diǎn)恢復(fù)的操作
這篇文章主要介紹了postgresql連續(xù)歸檔及時(shí)間點(diǎn)恢復(fù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01PostgreSQL數(shù)據(jù)庫遷移部署實(shí)戰(zhàn)教程
這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫遷移部署實(shí)戰(zhàn)教程,由于項(xiàng)目本身就是基于PostgreSQL數(shù)據(jù)庫構(gòu)建的,因此數(shù)據(jù)庫遷移將變得十分便捷,接下來,我將簡(jiǎn)要介紹我們的遷移步驟,需要的朋友可以參考下2023-07-07Postgresql之時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式
這篇文章主要介紹了Postgresql中的時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03解析PostgreSQL中Oid和Relfilenode的映射問題
這篇文章主要介紹了PostgreSQL中Oid和Relfilenode的映射問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01PostgreSQL?pg_filenode.map文件介紹
這篇文章主要介紹了PostgreSQL誤刪pg_filenode.map怎么辦,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09使用docker compose啟動(dòng)postgresql的示例代碼
要在啟動(dòng) PostgreSQL 容器時(shí)執(zhí)行特定的初始化文件,可以使用 Docker 的 docker-entrypoint-initdb.d 目錄,這個(gè)目錄下的 SQL 文件會(huì)在容器啟動(dòng)時(shí)被自動(dòng)執(zhí)行,下面是如何修改 Docker Compose 配置文件,以便在啟動(dòng)時(shí)執(zhí)行初始化 SQL 腳本,需要的朋友可以參考下2024-10-10