Friday, 15 July 2011

sql - Read-only user able to create table -



sql - Read-only user able to create table -

i created read-only user in postgresql , still able create tables:

i created test db , created readonly2 user. gave select privileges on 2 tables. when log db readonly2 user still able create tables:

create database test1 create user readonly2 password 'readonly'; grant select on test1 readonly2 grant select on test2 readonly2

where test1 , test2 2 tables in test db.

now when log test db readonly2 user, able create tables:

test=> create table test55 (id int); create table

i want create read-only user select permissions. not want grant create table permissions.

every table created in schema in postgres. create table, role must have create privilege schema. per documentation:

create

... schemas, allows new objects created within schema.

the default schema table created in first schema of current search_path.

the first schema in search_path typically schema same name user or schema public.

and public schema comes default privileges:

a user can allowed create objects in else's schema. allow that, create privilege on schema needs granted. note default, everyone has create , usage privileges on schema public.

bold emphasis mine.

you can alter that:

revoke create on schema public public;

be sure think consequences first ...

(either that, or role superuser.)

sql postgresql user database-permissions

No comments:

Post a Comment