Sort (cost=55.91..55.91 rows=2 width=504) |
Sort Key: a.attnum |
-> Nested Loop Left Join (cost=2.45..55.90 rows=2 width=504) |
Join Filter: ((t.typndims > 0) AND (t.typbasetype > '0'::oid)) |
-> Nested Loop Left Join (cost=2.17..50.83 rows=2 width=968) |
Join Filter: ((((a.attndims > 0) OR (t.typcategory = 'A'::"char")) AND (t.typelem > '0'::oid) AND (t.typelem = tb.oid)) OR ((t.typbasetype > '0'::oid) AND (t.typbasetype = tb.oid))) |
-> Nested Loop (cost=1.25..12.35 rows=2 width=895) |
-> Nested Loop Left Join (cost=0.97..11.74 rows=2 width=529) |
-> Nested Loop (cost=0.83..11.40 rows=2 width=497) |
-> Nested Loop Left Join (cost=0.55..6.55 rows=1 width=156) |
-> Nested Loop (cost=0.28..3.35 rows=1 width=132) |
Join Filter: (c.relnamespace = d.oid) |
-> Index Scan using pg_class_relname_nsp_index on pg_class c (cost=0.28..2.29 rows=1 width=72) |
Index Cond: (relname = 'agent_setting'::name) |
-> Seq Scan on pg_namespace d (cost=0.00..1.05 rows=1 width=68) |
Filter: (nspname = 'public'::name) |
-> Index Scan using pg_constraint_conrelid_contypid_conname_index on pg_constraint ct (cost=0.27..3.18 rows=1 width=28) |
Index Cond: (conrelid = c.oid) |
Filter: (contype = 'p'::"char") |
-> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a (cost=0.28..4.80 rows=6 width=341) |
Index Cond: ((attrelid = c.oid) AND (attnum > 0)) |
Filter: (NOT attisdropped) |
-> Index Scan using pg_attrdef_adrelid_adnum_index on pg_attrdef ad (cost=0.15..0.17 rows=1 width=38) |
Index Cond: ((adrelid = a.attrelid) AND (adnum = a.attnum)) |
-> Index Scan using pg_type_oid_index on pg_type t (cost=0.28..0.30 rows=1 width=370) |
Index Cond: (oid = a.atttypid) |
Filter: (typname <> ''::name) |
-> Bitmap Heap Scan on pg_type tb (cost=0.92..1.94 rows=692 width=77) |
Recheck Cond: ((t.typelem = oid) OR (t.typbasetype = oid)) |
-> BitmapOr (cost=0.92..0.92 rows=2 width=0) |
-> Bitmap Index Scan on pg_type_oid_index (cost=0.00..0.29 rows=1 width=0) |
Index Cond: (oid = t.typelem) |
-> Bitmap Index Scan on pg_type_oid_index (cost=0.00..0.29 rows=1 width=0) |
Index Cond: (oid = t.typbasetype) |
-> Index Scan using pg_type_oid_index on pg_type td (cost=0.28..0.32 rows=1 width=73) |
Index Cond: (oid = tb.typelem) |
SubPlan 1 |
-> Seq Scan on pg_namespace (cost=0.00..1.05 rows=1 width=64) |
Filter: (oid = COALESCE(td.typnamespace, tb.typnamespace, t.typnamespace)) |
SubPlan 2 |
-> Aggregate (cost=0.01..0.01 rows=1 width=32) |
-> Seq Scan on pg_enum (cost=0.00..0.00 rows=1 width=64) |
Filter: (enumtypid = COALESCE(td.oid, tb.oid, a.atttypid)) |