Recent Posts

Archives

Blog Ranking

Favorite

ExchangeRate

Update: 2012-05-21 11:00
by ロイター

« ipvsadmでロードバランサ | Main | viで文字コードを自動認識 »

PostgreSQLのアクセス権限

By admin | 12 月 16, 2008

 

マニュアルを見るといくつも書式が書いてあるけど、ボクがよくつかうのはコレ。
 
 
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;
 
 
↓役に立ったと思ったら・・・

 

Topics: PostgreSQL, Server |

 

Comments are closed.