Graeme Hinchliffe <graeme.hinchliffe@zeninternet.co.uk> writes:
> what I would like to be able to do is simply
> INSERT INTO newtable VALUES (NEW);
In 8.0 it works to spell it "new.*".
regression=# create table z1 (f1 int, f2 text);
CREATE TABLE
regression=# create table z2 (f1 int, f2 text);
CREATE TABLE
regression=# create function z1t() returns trigger as $$
regression$# begin
regression$# insert into z2 values(new.*);
regression$# return new;
regression$# end$$ language plpgsql;
CREATE FUNCTION
regression=# create trigger z1t before insert on z1 for each row
regression-# execute procedure z1t();
CREATE TRIGGER
regression=# insert into z1 values (42, 'foo');
INSERT 0 1
regression=# select * from z2;
f1 | f2
----+-----
42 | foo
(1 row)
regression=#
regards, tom lane