ボクの覚え書き – CentOSでサーバ構築 サーバー構築やプログラミングの覚え書き

PostgreSQLのアクセス権限

12.16.2008 · Posted in 覚え書き

マニュアルを見るといくつも書式が書いてあるけど、ボクがよくつかうのはコレ。

GRANT { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER | ALL [ PRIVILEGES ] } ON tablename TO username
  • SELECT :
    指定したテーブル、ビュー、シーケンスの任意の列に対する「SELECT」を許可。
    「COPY TO」も許可される。
  • INSERT :
    指定したテーブルへの新規行の「INSERT」を許可。
  • UPDATE :
    指定したテーブルの任意の列に対する「UPDATE」を許可。
    『SELECT … FOR UPDATE』というSQLにもこの権限が必要。
  • DELETE :
    指定したテーブルからの行の「DELETE」を許可。
  • RULE :
    テーブルまたはビュー上のルールの作成を許可。
  • REFERENCES :
    外部キー制約の作成を許可。
    参照する側とされる側の両方のテーブルに対してこの権限が必要。
  • TRIGGER :
    指定したテーブル上のトリガの作成を許可。
  • ALL [PRIVILEGES] :
    利用可能な全ての権限を一度に付与。
    PRIVILEGESは省略可能だが、厳密には必須。

たとえば、テーブル「test_table」に対して、ユーザー「hoge」にはSELECTのみ、ユーザー「kanri」には全ての権限を付与する場合は、

GRANT SELECT ON test_table TO hoge;
GRANT ALL PRIVILEGES ON test_table TO kanri;

Comments are closed