> >We lack a syntax that would enable us to write an on update/delete do instead rule > >that would efficiently map an update/delete to a table that is referenced by a >view. > > > >Currently the only rule you can implement is one that uses a primary key. > >This has the disadvantage of needing a self join to find the appropriate rows. > > > > One of the concepts used in other DBs is to have views with row > OIDs/DBKeys: ie. views that have one primary table (but maybe have column > selects, calculations and/or function calls) can still have a real row > underlying each row. This then allows insert, update & delete to work more > easily. Doesn't really help now, but it might be useful in a > future release. Imho the functionality inside the backend is probably there since old Postgres 4 could do such rules. That is why I said that syntax is missing. Btw, the insert is not a problem, the on insert do instead rules are straight forward to write, at least in the cases where other db's allow an insert on a view. (e.g. on insert to test1 do instead insert into test (a,b) values (new.a, new.b); where test1 has a few extra calculated columns) Andreas