PostgreSQL数据库序列信息查询

PostgreSQL序列信息查询

说明:

在PostgreSQL数据库中序列和表都是序列的对象。

数据库中不应该存在孤儿序列,序列应该和表对应的字段绑定起来。绑定后删除表或表对应的字段后,序列会自动被删除。

创建测试表和序列

sql 复制代码
create table test_t(id int,name varchar(100));
create sequence test_s;
alter sequence test_s owned by test_t.id;

信息查询

sql 复制代码
-- PostgreSQL查看序列是否依赖于某个表(绑定到了表的字段)
select t2.relname as 表名,
        t3.relname as 序列名,
		t4.attname as 序列绑定的表的列
		-- ,objid as 序列oid,refobjid as 表oid,refobjsubid as 列序号
  from pg_depend t1
  join pg_class t2 on t2.oid=t1.refobjid
  join pg_class t3 on t3.oid=t1.objid
  join pg_attribute t4 on t4.attrelid=t2.oid
where 1=1
   and t4.attnum=t1.refobjsubid
   and t3.relkind='S';

-- 查询表字段上绑定的序列名称
select pg_get_serial_sequence('表名','字段名');

-- 根据模式名查看模式下的所有序列
SELECT relname FROM pg_class
WHERE relkind = 'S'
AND relnamespace IN ( SELECT oid FROM pg_namespace WHERE nspname NOT LIKE'pg_%' AND nspname != 'information_schema' );
相关推荐
渣渣盟8 小时前
数据库设计范式详解(纯小白版)
数据库·oracle·软考·数据库工程师
夜雪闻竹9 小时前
Cursor 对话导入:解析 SQLite 里的宝藏
数据库·sqlite·ai编程
hhb_61810 小时前
PL/SQL核心技术难点梳理与实战应用案例解析
数据库·sql
m0_4708576410 小时前
PHP怎么实现工厂模式_Factory模式编写指南【指南】
jvm·数据库·python
用户4343092416911 小时前
Day29:图片上传 + 存数据库(Multer + MySQL)
数据库·后端
lolo大魔王11 小时前
MongoDB 索引机制详解:单字段索引、复合索引、唯一索引与性能优化
数据库·mongodb
newnazi11 小时前
RedHat10 安装MS SQL Server2025
linux·服务器·数据库
KaMeidebaby11 小时前
卡梅德生物技术快报|单 B 细胞抗体制备:流程优化、表达系统适配与性能数据
前端·数据库·其他·百度·新浪微博
2301_7838486512 小时前
mysql数据库迁移到云平台流程_使用数据传输服务DTS工具
jvm·数据库·python
爱喝水的鱼丶12 小时前
SAP-ABAP:ABAP函数 NUMBER_GET_NEXT 详解:从编号范围对象获取下一个编号
运维·数据库·学习·sap·abap