sql >> Databáze >  >> RDS >> PostgreSQL

Sledujte časové razítko poslední úpravy řádku v Postgresu

V postgresql musíte použít spoušť. Můžete sledovat tento odkaz, jak to udělat https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

Pro shrnutí článku můžete provést následující:

  1. Vytvořte funkci Pl/Pgsql, která se spustí:

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Vytvořte si stůl

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. A nakonec přidejte spouštěč:

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

Více informací o otázce naleznete zde:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Doufám, že vám to pomůže.



  1. SQL:Přerušení dotazu

  2. Jak seskupit podle data, zohlednit časová pásma a DST?

  3. Tipy k tabulce Microsoft Access – triky a pokyny, část 2

  4. MYSQL:Jak mohu najít „datum minulého pondělí“ (problém s výkonem)