I have found a bug in version 7.3.2.
At creation of tables the user not having grants on it can create the table
in database. (For temporary tables all works normally).
I have written small patch, it can be incorrect, but it works for me.
see atach
Diabolo.
--- ---
System Administrator of Phone: +7-095-939-1478
the Philological Faculty of E-Mail: [EMAIL PROTECTED]
Moscow State University. Web: http://www.philol.msu.ru
*** postgresql-7.3.2.orig/src/backend/commands/tablecmds.c Mon Dec 16 21:39:56
2002
--- postgresql-7.3.2/src/backend/commands/tablecmds.c Wed Mar 12 23:00:42 2003
***************
*** 128,133 ****
--- 128,139 ----
*/
namespaceId = RangeVarGetCreationNamespace(stmt->relation);
+ /* Inserted by Diabolo for Check grant on create table for DB */
+ if (pg_database_aclcheck(MyDatabaseId, GetSessionUserId(),
+ ACL_CREATE) != ACLCHECK_OK)
+ elog(ERROR, "%s: not authorized to create tables",
+ DatabaseName);
+
if (!IsBootstrapProcessingMode())
{
AclResult aclresult;
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html