On Thu, Dec 18, 2014 at 12:16 PM, Mike Blackwell <mike.blackwell@xxxxxxx> wrote: > Is there a simple notation for comparing most columns in the new and old > records in a pl/pgsql trigger function? Something like > > (new.b, new.c, new.d) = (old.b, old.c, old.d) > > works to compare all the columns except 'a', but is fragile in that it needs > to be updated any time a column is added to the table, and is rather messy > looking when the actual table has many columns. > > Is there a better approach to detecting a change in any column except a few > specific ones? yes, via hstore declare diff hstore; ignore_columns text[] default array['col1', 'col2']; begin diff := hstore(new) - hstore(old) - ignore_columns; ... boom! merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general