sql >> Database teknologi >  >> RDS >> PostgreSQL

Spor sidste ændrings tidsstempel for en række i Postgres

I postgresql skal du bruge en trigger. Du kan følge dette link om, hvordan du gør det https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

For at opsummere artiklen kan du gøre følgende:

  1. Opret Pl/Pgsql-funktionen, der vil blive udløst:

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Opret dit bord

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. Og tilføj til sidst triggeren:

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

Du kan finde mere information om spørgsmålet her:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Håber det vil hjælpe dig.



  1. sæt session i et SQLAlchemy-sessionsobjekt

  2. Skal jeg slå Query Cache fra i MySQL?

  3. Kan jeg bruge Parallel.For med sql-kommandoer?

  4. Hvordan finder man forskelle s/h TIMESTAMP-formatværdier i Oracle?