The following bug has been logged online: Bug reference: 1610 Logged by: Olleg Samoylov Email address: [EMAIL PROTECTED] PostgreSQL version: 7.4.7 Operating system: Linux debian-amd64 Description: rewrite rule and sequence Details:
Rule on view can't insert in table with "serial" field under not owner. Need grant privilege on sequence explicitly. How reproduce: olleg=> create table f (pk serial, f integer); NOTICE: CREATE TABLE will create implicit sequence "f_pk_seq" for "serial" column "f.pk" CREATE TABLE olleg=> create view v as select * from t; ERROR: relation "t" does not exist olleg=> drop table f; DROP TABLE olleg=> create table t (pk serial, f integer); NOTICE: CREATE TABLE will create implicit sequence "t_pk_seq" for "serial" column "t.pk" CREATE TABLE olleg=> create view v as select * from t; CREATE VIEW olleg=> create rule r as on insert to v do instead insert into t(f) values (new.f); CREATE RULE olleg=> grant select,insert on t to bill; GRANT olleg=> \c - bill You are now connected as new user "bill". olleg=> insert into t (f) values (0); ERROR: permission denied for sequence t_pk_seq ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings