Es gibt keinen integrierten Datensatz der PostgreSQL-Datenbankerstellungszeit im System. Alle Ansätze, die sich auf das Erstellen / Ändern von Dateisystemen stützen, können falsche Antworten erzeugen.
Wenn beispielsweise pg_basebackup
ein Replikatknoten ist, dann wird die Erstellungszeit als die Zeit angezeigt, zu der das Replikat erstellt wurde. pg_basebackup
behält die Erstellungs- / Änderungszeiten von Dateien nicht bei, da sie im Allgemeinen nicht als relevant für den Betrieb des Datenbanksystems betrachtet werden.
Die einzige zuverlässige Möglichkeit, die Datenbankerstellungszeit zu erhalten, besteht darin, beim Erstellen der Datenbank eine 1-zeilige Tabelle mit der Erstellungszeit zu erstellen, dann Berechtigungen festzulegen / einen Trigger hinzuzufügen, sodass Aktualisierungen abgelehnt werden.
Wenn Ihnen das Risiko einer falschen Antwort nichts ausmacht, wenn die Erstellungszeit als viel neuer gemeldet wird, als sie wirklich war, können Sie sich den Zeitstempel der base/[dboid]/PG_VERSION
-Datei ansehen. @Bob zeigte eine nützliche Möglichkeit, dies zu tun .
Ich stimme Craig Ringer vollkommen zu (ausgezeichnete Antwort!) ... aber für meine Zwecke ist das gut genug:
%Vor%Einfach und sauber (aber Superuser).
Tags und Links database postgresql