※WebPGの方、間違っていても責任負えません。  PostgreSQL:7.3.4-9使用

普通のテーブルを誰でも閲覧できるように

GRANT ALL ON テーブル名 TO PUBLIC;

とするだけでは中で作成したシリアル型のアクセス権限は×。

Warning: pg_query(): Query failed: ERROR: テーブル名_シリアルフィールド名_seq.nextval: you don’t have permissions to set sequence テーブル名_シリアルフィールド名_seq . in /var/www/html/xx.php on line 292

このエラーメッセージを回避するには
シリアル方のカラムそのものに権限を与えなくてはならない。

GRANT ALL ON テーブル名_シリアルフィールド名_seq TO PUBILIC;

これでシリアル型のフィールドにもアクセス権限ができ、
この例だと誰でもINSERTなどが行えるようになる。

_seqを入れないといくらGRANTしてもエラーになる。

コメント