Hubungan antara urutan yang dibuat secara otomatis (seperti yang dibuat untuk kolom SERIAL) dan tabel induk dimodelkan oleh atribut pemilik urutan.
Anda dapat mengubah hubungan ini menggunakan klausa OWNED BY dari perintah ALTER SEQUENCE
misalnya ALTER SEQUENCE foo_id MILIK oleh foo_schema.foo_table
untuk mengaturnya agar ditautkan ke tabel foo_table
atau ALTER SEQUENCE foo_id MILIK NONE
untuk memutuskan koneksi antara urutan dan tabel apa saja
Informasi tentang hubungan ini disimpan dalam tabel katalog pg_depend .
hubungan bergabung adalah tautan antara pg_depend.objid -> pg_class.oid WHERE relkind = 'S' - yang menghubungkan urutan ke catatan bergabung dan kemudian pg_depend.refobjid -> pg_class.oid WHERE relkind = 'r', yang menghubungkan gabung record ke relasi yang memiliki (tabel)
Kueri ini mengembalikan semua urutan -> dependensi tabel dalam database. Klausa tempat memfilternya hanya menyertakan hubungan yang dibuat secara otomatis, yang membatasi hanya untuk menampilkan urutan yang dibuat oleh kolom yang diketik 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' ;