H.Ç*_*Ç.T 2 postgresql postgresql-11
我知道我可以用这个列出所有序列:
SELECT * FROM information_schema.sequences;
Run Code Online (Sandbox Code Playgroud)
但我需要知道这个序列被哪个表使用。
我想这样做的原因是为了找出哪些PRIMARY KEY
s序列不是默认格式的table_name_id_seq
这可能吗?
注意:我的 PostgreSQL 版本是 11.5。
信息存储在pg_depend
:
SELECT t.oid::regclass AS table_name,
a.attname AS column_name,
s.relname AS sequence_name
FROM pg_class AS t
JOIN pg_attribute AS a
ON a.attrelid = t.oid
JOIN pg_depend AS d
ON d.refobjid = t.oid
AND d.refobjsubid = a.attnum
JOIN pg_class AS s
ON s.oid = d.objid
WHERE d.classid = 'pg_catalog.pg_class'::regclass
AND d.refclassid = 'pg_catalog.pg_class'::regclass
AND d.deptype = 'i'
AND t.relkind IN ('r', 'P')
AND s.relkind = 'S';
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3587 次 |
最近记录: |