Evgeny Duzhakow <diabolo(at)philol(dot)msu(dot)ru> writes:
> Now connect and try to create the table:
> testtables=# \c - fake
> You are now connected as new user fake.
> testtables=> create table qq(i int);
> CREATE TABLE
Sure. You need to revoke CREATE access on the public schema (not the
same thing as the database) if you don't want user fake to create tables
in it. Or possibly you could remove the public schema altogether.
See the discussion of common usage patterns in the User's Guide chapter
about schemas.
http://www.ca.postgresql.org/users-lounge/docs/7.3/postgres/ddl-schemas.html
regards, tom lane