Erhalte das Datum der Datenbankerstellung für PostgreSQL

8

Ich möchte das Datenbankerstellungsdatum in POSTGRESQL erhalten. Meine Version ist 9.3.4 unter Ubuntu 14.04. Kann ich es mit einer select -Anweisung tun oder kann ich es mit Zugriff auf den Server machen?

    
Za7pi 17.07.2014, 14:19
quelle

2 Antworten

5

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 .

    
Craig Ringer 18.07.2014, 01:26
quelle
15

Ich stimme Craig Ringer vollkommen zu (ausgezeichnete Antwort!) ... aber für meine Zwecke ist das gut genug:

%Vor%

Einfach und sauber (aber Superuser).

    
Bernardo Jerez 18.05.2015 16:54
quelle

Tags und Links