Re: PostgreSQL 9.0b1 - Error when checking table sizes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Thom Brown <thombrown(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: PostgreSQL 9.0b1 - Error when checking table sizes
Date: 2010-05-27 22:00:00
Message-ID: 9142.1274997600@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Thom Brown <thombrown(at)gmail(dot)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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Thom Brown 2010-05-27 22:03:21 Re: PostgreSQL 9.0b1 - Error when checking table sizes
Previous Message Peter Eisentraut 2010-05-27 21:53:12 Re: PostgreSQL 9.0b1 - Error when checking table sizes