Mettre à jour l’horodatage lorsque la ligne est mise à jour dans PostgreSQL

Dans MySQL, nous pouvons l’exécuter où il met à jour le changetimestamp colonne chaque fois que la ligne est modifiée:

 create table ab ( id int, changetimestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP ); 

Y a-t-il quelque chose de similaire à faire ci-dessus dans PostgreSQL?

Créez une fonction qui met à jour la colonne changetimestamp d’une table comme suit:

 CREATE OR REPLACE FUNCTION update_changetimestamp_column() RETURNS TRIGGER AS $$ BEGIN NEW.changetimestamp = now(); RETURN NEW; END; $$ language 'plpgsql'; 

Créez un déclencheur sur la table qui appelle la fonction update_changetimestamp_column () chaque fois qu’une mise à jour se produit comme suit:

  CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE ON ab FOR EACH ROW EXECUTE PROCEDURE update_changetimestamp_column();