स्वचालित रूप से उत्पन्न अनुक्रमों (जैसे कि सीरियल कॉलम के लिए बनाए गए) और मूल तालिका का संबंध अनुक्रम स्वामी विशेषता द्वारा तैयार किया गया है।
आप इस संबंध को कम से कम कॉमन के क्लाज के उपयोग से संशोधित कर सकते हैं
जैसे ALQU SEQUENCE foo_id OWNED by foo_schema.foo_table
इसे सेट करने के लिए तालिका foo_table से जुड़ा होना चाहिए
या किसी और के द्वारा अलग किया गया
अनुक्रम और किसी भी तालिका के बीच संबंध तोड़ने के लिए
इस संबंध के बारे में जानकारी pg_depend कैटलॉग तालिका में संग्रहीत है ।
जुड़ने वाला संबंध pg_depend.objid -> pg_class.oid के बीच की कड़ी है, जहाँ relkind = 'S' - जो अनुक्रम को जुड़ने के रिकॉर्ड से जोड़ता है और फिर pg_depend.refobjid - 'lg_class.oid यहाँ से relkind =' r ', जो लिंक को जोड़ता है खुद के संबंध (तालिका) के रिकॉर्ड में शामिल हों
यह क्वेरी डेटाबेस में सभी अनुक्रम -> तालिका निर्भरता देता है। जहां क्लॉज इसे केवल ऑटो जनरेट रिलेशनशिप को फिल्टर करता है, जो इसे केवल सीरियल टाइप किए गए कॉलम द्वारा बनाए गए सीक्वेंस को प्रदर्शित करने के लिए प्रतिबंधित करता है।
WITH fq_objects AS (SELECT c.oid,n.nspname || '.' ||c.relname AS fqname ,
c.relkind, c.relname AS relation
FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace ),
sequences AS (SELECT oid,fqname FROM fq_objects WHERE relkind = 'S'),
tables AS (SELECT oid, fqname FROM fq_objects WHERE relkind = 'r' )
SELECT
s.fqname AS sequence,
'->' as depends,
t.fqname AS table
FROM
pg_depend d JOIN sequences s ON s.oid = d.objid
JOIN tables t ON t.oid = d.refobjid
WHERE
d.deptype = 'a' ;