From: | Charles Clavadetscher <clavadetscher(at)swisspug(dot)org> |
---|---|
To: | luis(dot)roberto(at)siscobra(dot)com(dot)br |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Table sizes |
Date: | 2020-09-30 13:46:39 |
Message-ID: | 899489bcefe7f21b9db422b1ca797e15@swisspug.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
On 2020-09-30 14:11, luis(dot)roberto(at)siscobra(dot)com(dot)br wrote:
> Hi!
>
> I'm trying to use this query to get table sizes, however I'm getting a
> strange error:
>
> select tablename,pg_relation_size(tablename::text)
> from pg_tables;
>
> In PG 13:
>
> SQL Error [42P01]: ERROR: relation "sql_implementation_info" does not
> exist
>
> In PG 12:
>
> SQL Error [42P01]: ERROR: relation "sql_parts" does not exist
Try like this:
select schemaname,
tablename,
pg_relation_size((schemaname || '.' || '"' || tablename ||
'"')::regclass)
from pg_tables;
You need to schema qualify the tables. Additionally, if you happen to
have table names that have a mix of capital and non capital letters or
contain other characters that might be problematic, you need to enclose
the table name in double quotes.
Regards
Charles
--
Charles Clavadetscher
Swiss PostgreSQL Users Group
Treasurer
Spitzackerstrasse 9
CH - 8057 Zürich
+---------------------------+
| ____ ______ ___ |
| / )/ \/ \ |
| ( / __ _\ ) |
| \ (/ o) ( o) ) |
| \_ (_ ) \ ) _/ |
| \ /\_/ \)/ |
| \/ <//| |\\> |
| _| | |
| \|_/ |
| |
| Swiss PostgreSQL |
| Users Group |
| |
+---------------------------+
From | Date | Subject | |
---|---|---|---|
Next Message | luis.roberto | 2020-09-30 13:54:32 | Re: Table sizes |
Previous Message | Ireneusz Pluta/wp.pl | 2020-09-30 13:41:38 | Re: Table sizes |