PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Śledź znacznik czasu ostatniej modyfikacji wiersza w Postgres

W postgresql musisz użyć wyzwalacza. Możesz kliknąć ten link, aby dowiedzieć się, jak to zrobić https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

Aby podsumować artykuł, możesz wykonać następujące czynności:

  1. Utwórz funkcję Pl/Pgsql, która zostanie uruchomiona:

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Stwórz swój stół

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. I na koniec dodaj wyzwalacz:

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

Więcej informacji na ten temat znajdziesz tutaj:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Mam nadzieję, że ci to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak najlepiej wykorzystać logi PostgreSQL

  2. Postgres Query Plan, dlaczego szacowanie wierszy jest tak błędne

  3. Jak mogę połączyć 3 stoły i obliczyć poprawną sumę pól z 2 stołów bez zduplikowanych wierszy?

  4. Spring Boot, PostgreSQL i Docker — połączenie odrzucone podczas pracy w kontenerze

  5. Czy można podać parametry dla nazwy tabeli lub kolumny w przygotowanych instrukcjach lub w QueryRunner.update()?