summaryrefslogtreecommitdiff
path: root/httemplate/view/Status-db_size_detail.html
blob: 96c2da0065714da443d1aa090066c5ab7ae0560d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<& /elements/header-popup.html, {
     'title'         => 'Database size details',
   }
&>

<& /search/elements/search.html, 
     'name_singular' => 'table',
     'header'        => [ 'Table', 'Size' ],
     'query'         => $query,
     'count_query'   => $count_query,
     'nohtmlheader'  => 1,
&>

<& /elements/footer-popup.html &>
<%init>

my $query = q{

  SELECT table_name, pg_size_pretty(total_bytes) AS total 
    FROM (
    SELECT * FROM (
        SELECT relname AS TABLE_NAME,
               pg_total_relation_size(c.oid) AS total_bytes
            FROM pg_class c
            LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
            WHERE relkind = 'r'
              AND nspname = 'public'
    ) a
  ) a order by total_bytes desc
};

my $count_query = q{
  SELECT count(*) FROM pg_class c
    LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
            WHERE relkind = 'r'
              AND nspname = 'public'
};

</%init>