2010/9/16 Gissur Þórhallsson <gissur@xxxxxxxxxxxxx>: >> which is probably not what you might expect. > > No, indeed it is not. > My solution - which seems to be working - is replacing: > new.my_table_id > with: > currval(pg_get_serial_sequence('my_table', 'my_table_id')) > in the on_insert rule > OK, but you still need to be careful. That trick will only work if you insert rows one at a time into the table. If you have a single insert that inserts multiple rows (as in my example), it would fail because the currval() call would return the same value for each row in the insert created by the rule. My advice would be to convert to triggers. Regards, Dean > This does the trick. > Thanks, > Gissur Þórhallsson > > Loftmyndir ehf. > Laugavegur 13 > IS 101 Reykjavík - Iceland > sími (tel): (+354) 540 2500 > tölvupóstur (email): gissur@xxxxxxxxxxxxx > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general