PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Suivre l'horodatage de la dernière modification d'une ligne dans Postgres

Dans postgresql, vous devez utiliser un déclencheur. Vous pouvez suivre ce lien pour savoir comment procéder https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

Pour résumer l'article, vous pouvez procéder comme suit :

  1. Créez la fonction Pl/Pgsql qui sera déclenchée :

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Créez votre tableau

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. Et enfin ajoutez le déclencheur :

    CREATE TRIGGER set_timestamp
    BEFORE UPDATE ON mytable
    FOR EACH ROW
    EXECUTE FUNCTION trigger_set_timestamp();
    

Vous pouvez trouver plus d'informations sur la question ici :https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

J'espère que cela vous aidera.