On Fri, May 4, 2012 at 8:32 AM, Hannu Krosing <ha...@krosing.net> wrote: > For logical we don't really need to uniquely identify such rows - it > should sufficient if we just update exactly one of the matching rows. > > The way to do this is to put all fields of the OLD.* tuple in the WHERE > clause and then update just one matching row. > > IIRC updating (or deleting) CURRENT OF a cursor is currently supported > only in pl/pgsql so this needs to be done using a plpgsql cursor. > > If the table has no indexes or index lookup returns lots of rows, then > this is bound to be slow, but in this case it was probably slow on > master too :)
I was about to write a reply saying exactly this, but you said it better than I would have been able to manage. I think this is all exactly right. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers