& /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>