Re: PostgreSQL 9.0b1 - Error when checking table sizes - Mailing list pgsql-bugs

From Tom Lane
Subject Re: PostgreSQL 9.0b1 - Error when checking table sizes
Date
Msg-id 9142.1274997600@sss.pgh.pa.us
Whole thread Raw
In response to PostgreSQL 9.0b1 - Error when checking table sizes  (Thom Brown <thombrown@gmail.com>)
Responses Re: PostgreSQL 9.0b1 - Error when checking table sizes  (Thom Brown <thombrown@gmail.com>)
List pgsql-bugs
Thom Brown <thombrown@gmail.com> writes:
> This probably isn't a legitimate bug, but as a precaution....
> I'm running the following command against PostgreSQL 9.0 beta 1:

> psql -U postgres -d test -c "select tablename,
> pg_size_pretty(pg_table_size(tablename::regclass)) from pg_tables
> order by tablename;"

> And getting the following message:

> ERROR:  relation "sql_sizing" does not exist

The "tablename::regclass" bit is guaranteed to fail for any relation
that's not in your current search_path, because you're just handing
an unqualified name to the regclass converter.

If you're absolutely intent on using the pg_tables view here, you
could do this instead:
    (quote_ident(schemaname) || '.' || quote_ident(tablename))::regclass

Frankly though this seems like quite the hard way.  Why not just

select relname, pg_size_pretty(pg_table_size(oid)) from pg_class
where relkind = 'r'
order by relname;

            regards, tom lane

pgsql-bugs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: PostgreSQL 9.0b1 - Error when checking table sizes
Next
From: Thom Brown
Date:
Subject: Re: PostgreSQL 9.0b1 - Error when checking table sizes