Por supuesto que podría hacerlo para cada columna comparando así:
if (old.column1 = new.column1 and old.column2 = new.column2...)
Pero sería difícil de mantener y codificar si agrego otra columna en el futuro, por ejemplo.
¿Hay alguna manera de verificar si todas las columnas permanecen iguales sin verificar cada columna individual manualmente?
                    
                        postgresql
                                trigger
                                
                    
                    
                        Mateus Viccari
fuente
                
                fuente

Respuestas:
Simplemente puede comparar el
oldy losnewregistros medianteis not distinct fromel cual maneja correctamente los valores NULL (si se definen todas las columnas como NOT NULL puede simplemente usar=o<>)Se puede hacer lo mismo para verificar si al menos una columna cambió:
fuente
old=newmaneja el caso exactamente comoold is not distinct from old. En otras palabras, no pude encontrar un caso dondeold=newda un resultado NULO. ¡No esperaba eso!old <> newpero no estoy completamente seguro.