Anscheinend gibt es eine Datenbank "postgres", die standardmäßig bei jeder Installation des postgresql-Servers erstellt wird. Kann mir jemand sagen oder mich auf die Dokumentation verweisen, wofür es verwendet wird?
quelle
Anscheinend gibt es eine Datenbank "postgres", die standardmäßig bei jeder Installation des postgresql-Servers erstellt wird. Kann mir jemand sagen oder mich auf die Dokumentation verweisen, wofür es verwendet wird?
Es scheint, dass es nicht wirklich einen genau definierten Zweck hat. Laut den Dokumenten:
Das Erstellen eines Datenbankclusters besteht aus dem Erstellen der Verzeichnisse, in denen die Datenbankdaten gespeichert werden, dem Generieren der gemeinsam genutzten Katalogtabellen (Tabellen, die zum gesamten Cluster und nicht zu einer bestimmten Datenbank gehören) und dem Erstellen der Datenbanken "template1" und "postgres".
[...]
Die Postgres-Datenbank ist eine Standarddatenbank, die von Benutzern, Dienstprogrammen und Anwendungen von Drittanbietern verwendet werden kann.
(Quelle: http://www.postgresql.org/docs/current/app-initdb.html )
Wenn eine Clientanwendung eine Verbindung zu einem Postgres-Server herstellt, muss sie angeben, zu welcher Datenbank sie eine Verbindung herstellen möchte. Wenn Sie den Namen einer Datenbank nicht kennen (innerhalb des Clusters, der von dem Postmaster bedient wird, mit dem Sie eine Verbindung herstellen), können Sie mit dem folgenden Befehl eine Liste der Datenbanknamen finden:
psql -l
Wenn Sie diesen Befehl ausführen, stellt psql eine Verbindung zum Server her und fragt pg_database nach einer Liste von Datenbanknamen ab. Da psql jedoch eine Postgres-Clientanwendung ist, kann keine Verbindung zum Server hergestellt werden, ohne den Namen mindestens einer Datenbank zu kennen: Catch-22. Daher ist psql fest codiert, um beim Ausführen eine Verbindung zu einer Datenbank mit dem Namen "postgres" herzustellen. psql -l
In diesem Fall können Sie jedoch eine Vorlagendatenbank angeben:
psql -l -d template1
Es gibt auch die Datenbank template0, Ihr Sicherheitsnetz, wenn Sie alle anderen vermasseln.
postgres
Datenbank zu löschen, wenn Sie sie nicht verwenden?postgres
Datenbank oder ähnliches. Wenn Sie beispielsweise einen Speicherauszug Ihrer Datenbank mit den Optionen zum Löschen und Neuerstellen Ihrer Anwendungsdatenbank erstellen, funktioniert dies nicht, wenn Sie versuchen, dieselbe Datenbank wiederherzustellen, da Sie mit der Datenbank verbunden sind, die Sie löschen und erstellen möchten .In dem obigen Kommentar wurde gefragt: "Ist es sicher, die Postgres-Datenbank zu löschen, wenn Sie sie nicht verwenden?" - CMCDragonkai 22. Oktober 16 um 10:37 Uhr
Aus der PostgreSQL-Dokumentation
[Hinweis: Ein Datenbankcluster ist eine Sammlung von Datenbanken, die von einer einzelnen Instanz eines laufenden Datenbankservers verwaltet werden.]
quelle
Wenn Sie beim Erstellen neuer Datenbanken mehrere Datenbankverbindungen verwenden, können nicht alle Verbindungen zu
template1
oder hergestellt werdentemplate0
.Postgresql gibt einen Fehler aus, wenn andere Verbindungen auf die Quell-DB beim Erstellen einer neuen DB zugreifen.
Zum Erstellen neuer DBs ist es daher besser, eine Verbindung herzustellen
postgres
.quelle