sql >> Databasteknik >  >> RDS >> PostgreSQL

Spåra den senaste ändringens tidsstämpel för en rad i Postgres

I postgresql måste du använda en trigger. Du kan följa den här länken om hur du gör det https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

För att sammanfatta artikeln kan du göra följande:

  1. Skapa Pl/Pgsql-funktionen som kommer att triggas:

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

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. Och slutligen lägg till triggern:

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

Du kan hitta mer information om frågan här:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Hoppas det hjälper dig.



  1. Hur använder man SqlCommand för att SKAPA DATABAS med parametrerat db-namn?

  2. Hur man gör flera frågor till SQL

  3. Uppdatera frågan när du sammanfogar två tabeller?

  4. Hur man skapar ett unikt index där kolumnordningen inte beaktas (set?)