QUERY PLAN
Sort (cost=29.64..29.65 rows=1 width=322)
Sort Key: fns.nspname, fc.relname, a.attnum
-> Nested Loop Left Join (cost=3.27..29.63 rows=1 width=322)
-> Nested Loop Left Join (cost=2.99..29.23 rows=1 width=298)
-> Nested Loop Left Join (cost=2.86..29.07 rows=1 width=238)
-> Nested Loop (cost=2.59..28.76 rows=1 width=170)
Join Filter: (c.oid = a.attrelid)
-> Nested Loop (cost=2.30..28.35 rows=1 width=136)
Join Filter: (c.relnamespace = ns.oid)
-> Seq Scan on pg_namespace ns (cost=0.00..1.05 rows=1 width=4)
Filter: (nspname = 'public'::name)
-> Hash Join (cost=2.30..27.27 rows=2 width=140)
Hash Cond: (ct.conrelid = c.oid)
-> ProjectSet (cost=0.00..12.32 rows=1000 width=133)
-> Seq Scan on pg_constraint ct (cost=0.00..7.31 rows=1 width=128)
Filter: (contype = 'f'::"char")
-> Hash (cost=2.29..2.29 rows=1 width=8)
-> Index Scan using pg_class_relname_nsp_index on pg_class c (cost=0.28..2.29 rows=1 width=8)
Index Cond: (relname = 'agent_setting'::name)
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a (cost=0.28..0.40 rows=1 width=70)
Index Cond: ((attrelid = ct.conrelid) AND (attnum = (ct.conkey)[(generate_subscripts(ct.conkey, 1))]))
-> Index Scan using pg_class_oid_index on pg_class fc (cost=0.28..0.31 rows=1 width=72)
Index Cond: (oid = ct.confrelid)
-> Index Scan using pg_namespace_oid_index on pg_namespace fns (cost=0.13..0.15 rows=1 width=68)
Index Cond: (oid = fc.relnamespace)
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute fa (cost=0.28..0.40 rows=1 width=70)
Index Cond: ((attrelid = ct.confrelid) AND (attnum = (ct.confkey)[(generate_subscripts(ct.conkey, 1))]))