Hello
On 2020-09-30 14:11, luis.roberto@xxxxxxxxxxxxxxx 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
http://www.swisspug.org
+---------------------------+
| ____ ______ ___ |
| / )/ \/ \ |
| ( / __ _\ ) |
| \ (/ o) ( o) ) |
| \_ (_ ) \ ) _/ |
| \ /\_/ \)/ |
| \/ <//| |\\> |
| _| | |
| \|_/ |
| |
| Swiss PostgreSQL |
| Users Group |
| |
+---------------------------+