On 27 May 2010 23:00, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Thom Brown <thombr...@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
>

Of course, you're both right.  I've changed it to:

psql -U postgres -d test -c "select tablename,
pg_size_pretty(pg_table_size(tablename::regclass)) from pg_tables
where schemaname = 'public' order by tablename;"

And this, for some reason, works... which is how I did it the other
day (hence why I've only just got the error today).

Apologies

Thom

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to