欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > PostgreSQL数据库序列信息查询

PostgreSQL数据库序列信息查询

2024/12/22 0:46:11 来源:https://blog.csdn.net/myneth/article/details/144440629  浏览:    关键词:PostgreSQL数据库序列信息查询

PostgreSQL序列信息查询

说明:

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

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

创建测试表和序列

create table test_t(id int,name varchar(100));
create sequence test_s;
alter sequence test_s owned by test_t.id;

信息查询

-- PostgreSQL查看序列是否依赖于某个表(绑定到了表的字段)
select t2.relname as 表名,t3.relname as 序列名,t4.attname as 序列绑定的表的列-- ,objid as 序列oid,refobjid as 表oid,refobjsubid as 列序号from pg_depend t1join pg_class t2 on t2.oid=t1.refobjidjoin pg_class t3 on t3.oid=t1.objidjoin pg_attribute t4 on t4.attrelid=t2.oid
where 1=1and t4.attnum=t1.refobjsubidand 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' );

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com