QUERY PLAN
Sort (cost=50326.45..50326.46 rows=1 width=322)
Sort Key: fns.nspname, fc.relname, a.attnum
-> Nested Loop Left Join (cost=8.89..50326.44 rows=1 width=322)
-> Nested Loop Left Join (cost=8.60..50326.13 rows=1 width=289)
Join Filter: (fc.relnamespace = fns.oid)
-> Nested Loop Left Join (cost=8.60..50324.95 rows=1 width=229)
Join Filter: (fc.oid = ct.confrelid)
-> Nested Loop (cost=8.60..49965.59 rows=1 width=161)
Join Filter: (c.oid = a.attrelid)
-> Nested Loop (cost=8.31..49965.26 rows=1 width=126)
Join Filter: (c.relnamespace = ns.oid)
-> Seq Scan on pg_namespace ns (cost=0.00..1.10 rows=1 width=4)
Filter: (nspname = 'global'::name)
-> Hash Join (cost=8.31..49964.11 rows=4 width=130)
Hash Cond: (ct.conrelid = c.oid)
-> ProjectSet (cost=0.00..14302.76 rows=2824000 width=123)
-> Seq Scan on pg_constraint ct (cost=0.00..161.57 rows=2824 width=118)
Filter: (contype = 'f'::"char")
-> Hash (cost=8.30..8.30 rows=1 width=8)
-> Index Scan using pg_class_relname_nsp_index on pg_class c (cost=0.28..8.30 rows=1 width=8)
Index Cond: (relname = 'tbl_login_logs'::name)
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a (cost=0.29..0.31 rows=1 width=70)
Index Cond: ((attrelid = ct.conrelid) AND (attnum = (ct.conkey)[(generate_subscripts(ct.conkey, 1))]))
-> Seq Scan on pg_class fc (cost=0.00..291.94 rows=5394 width=72)
-> Seq Scan on pg_namespace fns (cost=0.00..1.08 rows=8 width=68)
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute fa (cost=0.29..0.31 rows=1 width=70)
Index Cond: ((attrelid = ct.confrelid) AND (attnum = (ct.confkey)[(generate_subscripts(ct.conkey, 1))]))