add remove split language chart show hidden hide
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
QUERY PLAN
Hash Left Join (cost=235.82..2965.60 rows=502 width=1796) (actual time=45.714..275.764 rows=1835 loops=1)
  Hash Cond: ((c.oid = dep.refobjid) AND (a.attnum = dep.refobjsubid))
  -> Merge Right Join (cost=227.48..235.16 rows=502 width=1192) (actual time=37.438..41.131 rows=1835 loops=1)
        Merge Cond: (co.oid = a.attcollation)
        -> Nested Loop (cost=0.28..114.16 rows=781 width=132) (actual time=0.265..0.275 rows=2 loops=1)
              Join Filter: ((co.collnamespace = nco.oid) AND ((nco.nspname <> 'pg_catalog'::name) OR (co.collname <> 'default'::name)))
              Rows Removed by Join Filter: 17
              -> Index Scan using pg_collation_oid_index on pg_collation co (cost=0.28..59.99 rows=781 width=72) (actual time=0.224..0.230 rows=3 loops=1)
              -> Materialize (cost=0.00..1.06 rows=4 width=68) (actual time=0.008..0.011 rows=6 loops=3)
                    -> Seq Scan on pg_namespace nco (cost=0.00..1.04 rows=4 width=68) (actual time=0.016..0.019 rows=15 loops=1)
        -> Sort (cost=227.21..228.46 rows=502 width=1068) (actual time=37.168..38.313 rows=1835 loops=1)
              Sort Key: a.attcollation
              Sort Method: quicksort Memory: 1912kB
              -> Hash Join (cost=60.22..204.69 rows=502 width=1068) (actual time=2.358..31.635 rows=1835 loops=1)
                    Hash Cond: (t.typnamespace = nt.oid)
                    -> Hash Left Join (cost=59.13..200.88 rows=502 width=1008) (actual time=2.121..30.308 rows=1835 loops=1)
                          Hash Cond: ((a.attrelid = ad.adrelid) AND (a.attnum = ad.adnum))
                          -> Hash Left Join (cost=59.11..198.23 rows=502 width=976) (actual time=2.090..29.530 rows=1835 loops=1)
                                Hash Cond: (t.typbasetype = bt.oid)
                                Join Filter: (t.typtype = 'd'::"char")
                                -> Nested Loop (cost=22.85..153.80 rows=502 width=842) (actual time=1.394..27.859 rows=1835 loops=1)
                                      -> Hash Join (cost=22.57..126.31 rows=502 width=478) (actual time=1.201..24.795 rows=1835 loops=1)
                                            Hash Cond: (c.relnamespace = nc.oid)
                                            -> Hash Join (cost=21.48..121.61 rows=669 width=418) (actual time=0.996..23.400 rows=1835 loops=1)
                                                  Hash Cond: (a.attrelid = c.oid)
                                                  Join Filter: (pg_has_role(c.relowner, 'USAGE'::text) OR has_column_privilege(c.oid, a.attnum, 'SELECT, INSERT, UPDATE, REFERENCES'::text))
                                                  Rows Removed by Join Filter: 147
                                                  -> Seq Scan on pg_attribute a (cost=0.00..93.81 rows=2390 width=345) (actual time=0.022..3.788 rows=2389 loops=1)
                                                        Filter: ((NOT attisdropped) AND (attnum > 0))
                                                        Rows Removed by Filter: 636
                                                  -> Hash (cost=18.94..18.94 rows=203 width=77) (actual time=0.273..0.274 rows=206 loops=1)
                                                        Buckets: 1024 Batches: 1 Memory Usage: 31kB
                                                        -> Seq Scan on pg_class c (cost=0.00..18.94 rows=203 width=77) (actual time=0.018..0.203 rows=206 loops=1)
                                                              Filter: (relkind = ANY ('{r,v,f,p}'::"char"[]))
                                                              Rows Removed by Filter: 201
                                            -> Hash (cost=1.05..1.05 rows=3 width=68) (actual time=0.078..0.079 rows=15 loops=1)
                                                  Buckets: 1024 Batches: 1 Memory Usage: 10kB
                                                  -> Seq Scan on pg_namespace nc (cost=0.00..1.05 rows=3 width=68) (actual time=0.038..0.069 rows=15 loops=1)
                                                        Filter: (NOT pg_is_other_temp_schema(oid))
                                      -> Memoize (cost=0.29..0.34 rows=1 width=368) (actual time=0.001..0.001 rows=1 loops=1835)
                                            Cache Key: a.atttypid
                                            Cache Mode: logical
                                            Hits: 1794 Misses: 41 Evictions: 0 Overflows: 0 Memory Usage: 15kB
                                            -> Index Scan using pg_type_oid_index on pg_type t (cost=0.28..0.33 rows=1 width=368) (actual time=0.005..0.005 rows=1 loops=41)
                                                  Index Cond: (oid = a.atttypid)
                                -> Hash (cost=27.68..27.68 rows=687 width=138) (actual time=0.668..0.670 rows=659 loops=1)
                                      Buckets: 1024 Batches: 1 Memory Usage: 119kB
                                      -> Hash Join (cost=1.09..27.68 rows=687 width=138) (actual time=0.066..0.404 rows=659 loops=1)
                                            Hash Cond: (bt.typnamespace = nbt.oid)
                                            -> Seq Scan on pg_type bt (cost=0.00..22.87 rows=687 width=78) (actual time=0.007..0.108 rows=659 loops=1)
                                            -> Hash (cost=1.04..1.04 rows=4 width=68) (actual time=0.023..0.024 rows=15 loops=1)
                                                  Buckets: 1024 Batches: 1 Memory Usage: 10kB
                                                  -> Seq Scan on pg_namespace nbt (cost=0.00..1.04 rows=4 width=68) (actual time=0.007..0.010 rows=15 loops=1)
                          -> Hash (cost=0.00..0.00 rows=1 width=38) (actual time=0.006..0.007 rows=0 loops=1)
                                Buckets: 1024 Batches: 1 Memory Usage: 8kB
                                -> Seq Scan on pg_attrdef ad (cost=0.00..0.00 rows=1 width=38) (actual time=0.006..0.006 rows=0 loops=1)
                    -> Hash (cost=1.04..1.04 rows=4 width=68) (actual time=0.029..0.030 rows=15 loops=1)
                          Buckets: 1024 Batches: 1 Memory Usage: 10kB
                          -> Seq Scan on pg_namespace nt (cost=0.00..1.04 rows=4 width=68) (actual time=0.011..0.014 rows=15 loops=1)
  -> Hash (cost=8.32..8.32 rows=1 width=41) (actual time=0.010..0.011 rows=0 loops=1)
        Buckets: 1024 Batches: 1 Memory Usage: 8kB
        -> Nested Loop (cost=0.29..8.32 rows=1 width=41) (actual time=0.009..0.009 rows=0 loops=1)
              -> Seq Scan on pg_sequence seq (cost=0.00..0.00 rows=1 width=37) (actual time=0.008..0.008 rows=0 loops=1)
              -> Index Scan using pg_depend_depender_index on pg_depend dep (cost=0.29..8.31 rows=1 width=12) (never executed)
                    Index Cond: ((classid = '1259'::oid) AND (objid = seq.seqrelid))
                    Filter: ((deptype = 'i'::"char") AND (refclassid = '1259'::oid))
Planning Time: 13.234 ms
Execution Time: 278.153 ms
EXPLAIN
QUERY PLAN
Seq Scan on pg_attribute (cost=0.00..86.25 rows=3025 width=240) (actual time=0.008..0.242 rows=3025 loops=1)
Planning Time: 0.073 ms
Execution Time: 0.369 ms
EXPLAIN