For future reference, in the end I have just added a WHERE clause comparing all fields with IS DISTINCT FROM. This seems to work well, prevents any locks/WAL-generation and is about as fast as the previous solution with suppress_redundant_updates_trigger(). Kind regards, Mike