Ich glaube nicht, dass irgendetwas in dem System eingebaut ist, das dies ab 9.3.4 bietet. Wenn ich das Datum der letzten Aktualisierung angeben muss, füge ich der ausgewählten Abfrage in der materialisierten Ansicht eine Spalte mit dem Namen "last_refresh" hinzu, da sich Daten in der materialisierten Ansicht erst ändern, wenn sie aktualisiert werden.
Ich bevorzuge dies auch aus Sicherheitsgründen, weil Sie den SQL-Benutzer möglicherweise nicht Zugriff auf die Systemtabellen geben möchten, wenn die Informationen dort gespeichert werden.
Je nachdem, ob Sie die Zeit benötigen, können Sie entweder:
CURRENT_DATE
now()
Gerade Datum:
CREATE MATERIALIZED VIEW mv_address AS
SELECT *, CURRENT_DATE AS last_refresh FROM address;
mit Datum und Uhrzeit:
CREATE MATERIALIZED VIEW mv_address AS
SELECT *, now() AS last_refresh FROM address;
-Update 2017.02.17:
PostgreSQL Version 9.4+ enthält jetzt CONCURRENTLY
Option. Wenn Sie REFRESH MATERIALIZED VIEW CONCURRENTLY
Option verwenden, beachten Sie, was @Smudge in den Kommentaren angegeben. Dies wäre wirklich nur ein Problem für große und häufig aktualisierte Datensätze. Wenn Ihr Datensatz klein oder selten aktualisiert wird, sollten Sie in Ordnung sein.
Weitere Informationen hierzu: https://dba.stackexchange.com/q/58214/104401 – Wildcard