Grants do not work at the database level using the syntax mentioned in the documentation. i.e.:
GRANT ALL ON DATABASE dbname TO GROUP groupname;
Or
GRANT ALL ON DATABASE dbname TO username;
Works here:
regression=# select version(); version ----------------------------------------------------------------- PostgreSQL 7.3.3 on i686-redhat-linux-gnu, compiled by GCC 2.96 (1 row)
regression=# GRANT ALL ON DATABASE regression TO GROUP grp1; GRANT regression=# GRANT ALL ON DATABASE regression TO user1; GRANT
You need to be more specific in what you mean by "do not work". Do you get an error? What exactly is not working?
Perhaps you expect more than you should -- re-read the docs, specifically the section quoted here:
GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...] TO { username | GROUP groupname | PUBLIC } [, ...]
In the context of DATABASE, ALL means "CREATE & TEMPORARY & TEMP", nothing more, nothing less. Further reading provides:
CREATE For databases, allows new schemas to be created within the database.
TEMPORARY TEMP Allows temporary tables to be created while using the database.
Are these not working?
HTH,
Joe
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match