You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL如何查询所有使用序列的列及对应关联表

PostgreSQL查询序列关联列及所属表的方法

要得到和pgAdmin 4序列依赖标签页完全一致的结果,可以直接查询PostgreSQL系统目录表,执行以下SQL:

SELECT 
    n.nspname AS 所属schema,
    t.relname AS 关联表名,
    a.attname AS 关联列名,
    s.relname AS 序列名,
    pg_get_userbyid(s.relowner) AS 序列所有者
FROM 
    pg_class s
JOIN 
    pg_depend d ON s.oid = d.objid
JOIN 
    pg_class t ON d.refobjid = t.oid
JOIN 
    pg_attribute a ON d.refobjid = a.attrelid AND d.refobjsubid = a.attnum
JOIN 
    pg_namespace n ON t.relnamespace = n.oid
WHERE 
    s.relkind = 'S' -- 仅筛选序列对象
    AND d.deptype = 'a' -- 匹配pgAdmin依赖页逻辑,仅筛选列和序列的自动绑定依赖
    AND n.nspname NOT IN ('pg_catalog', 'information_schema') -- 排除系统内置schema
ORDER BY 
    n.nspname, t.relname, a.attname;
  • 若只需查询单个特定序列的依赖,在WHERE条件中补充s.relname = '目标序列名称'即可,返回结果和pgAdmin中点击对应序列后查看的依赖标签内容完全匹配
  • 若需要查询系统内置schema的序列依赖,删除n.nspname NOT IN ('pg_catalog', 'information_schema')这行条件即可
  • 若需要包含手动引用序列的非绑定依赖,可将d.deptype = 'a'替换为d.deptype IN ('a', 'n')

内容的提问来源于stack exchange,提问作者smg77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:36:00