校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > pgsql批量修改sequences的start方式

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$$;

根據表的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 數據庫 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 的值

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pgsql 如何刪除仍有活動鏈接的數據庫
  • pgsql的UUID生成函數實例
  • pgsql 如何手動觸發歸檔
  • PGSQL實現判斷一個空值字段,并將NULL值修改為其它值
  • pgsql 實現用戶自定義表結構信息獲取
  • pgsql鎖表后kill進程的操作
  • PGSQL 實現把字符串轉換成double類型(to_number())
  • pgsql添加自增序列、設置表某個字段自增操作
  • pgsql之pg_stat_replication的使用詳解

標簽:晉城 珠海 錦州 蚌埠 株洲 烏海 衡陽 來賓

巨人網絡通訊聲明:本文標題《pgsql批量修改sequences的start方式》,本文關鍵詞  pgsql,批量,修改,sequences,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pgsql批量修改sequences的start方式》相關的同類信息!
  • 本頁收集關于pgsql批量修改sequences的start方式的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 万州区| 磐石市| 广安市| 新余市| 阿克陶县| 元阳县| 定州市| 大关县| 定结县| 池州市| 玉树县| 宁夏| 宕昌县| 通渭县| 霍城县| 大埔县| 宁都县| 许昌县| 济源市| 敦化市| 页游| 肃宁县| 安庆市| 泾川县| 图木舒克市| 乐昌市| 黑龙江省| 客服| 沅江市| 扎鲁特旗| 浑源县| 广元市| 连南| 全州县| 体育| 洛宁县| 辛集市| 裕民县| 扶风县| 盐亭县| 邵东县|