>> There must be a better solution than the additional dummy update.
How about swapping all the other columns, and preserving the identity of
the primary key? Arguably, swapping primary keys is a violation of the
relational model to begin with.
regards, tom lane