PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verfolgen Sie den Zeitstempel der letzten Änderung einer Zeile in Postgres

In postgresql müssen Sie einen Trigger verwenden. Sie können diesem Link folgen, um zu erfahren, wie es geht https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

Um den Artikel zusammenzufassen, können Sie Folgendes tun:

  1. Erstellen Sie die Pl/Pgsql-Funktion, die ausgelöst wird:

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Erstellen Sie Ihre Tabelle

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. Und schließlich fügen Sie den Trigger hinzu:

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

Weitere Informationen zu der Frage finden Sie hier:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Hoffe es hilft dir.