Suya Huang wrote:
> I’ve encountered a weird problem in PostgreSQL :
>
> postgres=> create user test password ‘test’;
> 
> postgres=> grant select on pg_catalog.pg_database_size to test;

This statement produces an error:
ERROR:  relation "pg_catalog.pg_database_size" does not exist

> postgres=> grant execute on function pg_catalog.pg_database_size(name) to 
> test;
> 
> --login as user test
> postgres=> select current_user;
> current_user
> --------------
> test
> (1 row)
> 
> 
> --query individual database size is fine
> postgres=> select pg_database_size('postgres');
> pg_database_size
> ------------------
>          25611884
> (1 row)
> 
> --fails if try to get all db size in one sql
> postgres=> SELECT current_date,pg_database_size(pg_database.datname) from 
> pg_database;
> ERROR:  permission denied for database control

Works for me.

It seems like you have a database called "control" for which user "test"
has no connect privilege.

Yours,
Laurenz Albe

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

Reply via email to