スキーマの権限
次に、スキーマの権限について。
まずは、適当にスキーマを作成する。作成はデータベース管理者でいいかなと。
test=> CREATE SCHEMA testschema; CREATE SCHEMA
まずは、デフォルト権限になるので、PUBLICに対する権限を取り除く。
test=> REVOKE ALL PRIVILEGES ON SCHEMA testschema FROM PUBLIC RESTRICT; REVOKE
そうすると、オーナの権限だけ残る。
{testadmin=U*C*/testadmin}
管理者グループだけ権限を付与する。
test=> GRANT ALL PRIVILEGES ON SCHEMA testschema TO GROUP testadmins; GRANT
すると、権限は以下のようになる。
{testadmin=U*C*/testadmin,"group testadmins=CT/testadmin"}
権限のないユーザでこのスキーマにテーブルを作ろうとしても以下のようになる。
test=> CREATE TABLE testschema.testtable(id integer); ERROR: permission denied for schema testschema