ความสัมพันธ์ระหว่างลำดับที่สร้างขึ้นโดยอัตโนมัติ (เช่นที่สร้างขึ้นสำหรับคอลัมน์ SERIAL) และตารางแม่ถูกสร้างแบบจำลองโดยแอตทริบิวต์เจ้าของลำดับ
คุณสามารถแก้ไขความสัมพันธ์นี้โดยใช้ OWNED BY clause ของคำสั่งALTER SEQUENCE commmand
เช่น ALTER SEQUENCE foo_id เป็นเจ้าของโดย foo_schema.foo_table
เพื่อตั้งค่าให้เชื่อมโยงกับตาราง foo_table
หรือแก้ไขลำดับ foo_id เป็นเจ้าของโดย NONE
เพื่อหยุดการเชื่อมต่อระหว่างลำดับและตารางใด ๆ
ข้อมูลเกี่ยวกับความสัมพันธ์นี้จะถูกเก็บไว้ในตารางแคตตาล็อก pg_depend
ความสัมพันธ์ที่เข้าร่วมคือการเชื่อมโยงระหว่าง pg_depend.objid -> pg_class.oid WHERE relkind = 'S' - ซึ่งเชื่อมโยงลำดับไปยังบันทึกการเข้าร่วมแล้ว pg_depend.refobjid -> pg_class.oid WHERE relkind = 'r' ซึ่งเชื่อมโยง เข้าร่วมบันทึกการเป็นเจ้าของความสัมพันธ์ (ตาราง)
เคียวรีนี้ส่งคืนลำดับทั้งหมด -> การพึ่งพาตารางในฐานข้อมูล ส่วนคำสั่ง where กรองให้รวมเฉพาะความสัมพันธ์ที่สร้างขึ้นอัตโนมัติซึ่งจะ จำกัด เฉพาะการแสดงลำดับที่สร้างโดยคอลัมน์ที่พิมพ์ SERIAL
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' ;