"Guy Rouillier" <guyr@masergy.com> writes:
> (1) create table t1 (f1 smallint) tablespace XXXXts- fails - should it?
Sure. You didn't grant any permissions on tablespace XXXXts.
> (2) create table t1 (f1 smallint) - succeeds
The presumption is that there should be no direct permission checks on
the default tablespace for a database --- if a user has the ability to
create tables in a database at all, then he's got the right to create
'em in the database's default tablespace. To do otherwise would break
too many applications for too little gain. However, if you explicitly
mention "tablespace foo", then you'd better have permissions on foo.
regards, tom lane