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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general