DBテーブルへのアクセス権

| | コメント(0)

Warning: pg_query() [function.pg-query]: Query failed: ERROR: permission denied for relation articles in /var/www/*******/***.php on line 68

てなエラーがでてDB操作ができなかった時、テーブルに権限が設定されていないことが原因。

productslistというテーブルに対してwwwというユーザに権限を与える時

■select権限のみ与える時
grant select on productslist to www;

■insert、update、deleteも可能にするなら
grant select,insert,update,delete on productslist to www;

■全部与える時
grant all on productslist to www;

GRANTって表示されたら変更完了ってこと。

■権限を奪う時
revoke select on productslist from www;

※シーケンスの場合、USAGE, SELECT, UPDATEしかないので注意。

全てのユーザに権限を与える/奪う場合は、ユーザ名(例でいうwww)のかわりにpublicでOK

■テーブルではなくDBへは以下
databaseがつくだけ。
grant all on database dbname to www;
revoke all on database dbname from www;

コメントする