コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

スキーマの権限

次に、スキーマの権限について。
まずは、適当にスキーマを作成する。作成はデータベース管理者でいいかなと。

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