Was ist das Standardverzeichnis, in dem PostgreSQL alle Datenbanken unter Linux speichert?
linux
postgresql
gruszczy
quelle
quelle
Antworten:
Das " Verzeichnis, in dem postgresql alle Datenbanken speichert " (und Konfiguration) heißt "Datenverzeichnis" und entspricht dem, was PostgreSQL (etwas verwirrend) als " Datenbankcluster " bezeichnet, der sich nicht auf verteiltes Rechnen bezieht, sondern nur eine Gruppe von Datenbanken und verwandten Objekten, die von einem PostgreSQL-Server verwaltet werden.
Der Speicherort des Datenverzeichnisses hängt von der Verteilung ab. Wenn Sie von der Quelle installieren, lautet die Standardeinstellung
/usr/local/pgsql/data
:Außerdem ist eine Instanz eines laufenden PostgreSQL-Servers einem Cluster zugeordnet. Der Speicherort des Datenverzeichnisses kann in der Befehlszeilenoption oder über die Umgebungsvariable (normalerweise im Bereich des laufenden Benutzers ) an den Server-Daemon (" postmaster " oder " postgres " ) übergeben werden. Normalerweise sehen Sie den laufenden Server wie folgt:
-D
PGDATA
postgres
Beachten Sie, dass es möglich ist, wenn auch nicht sehr häufig, zwei Instanzen desselben PostgreSQL-Servers (gleiche Binärdateien, unterschiedliche Prozesse) auszuführen, die unterschiedliche "Cluster" (Datenverzeichnisse) bedienen. Natürlich würde jede Instanz ihren eigenen TCP / IP-Port abhören.
quelle
Zumindest in Gentoo Linux und Ubuntu 14.04 standardmäßig.
Sie können
postgresql.conf
param finden und betrachtendata_directory
. Wenn es kommentiert ist, ist das Datenbankverzeichnis dasselbe wie dieses Konfigurationsdateiverzeichnis.quelle
/var/lib/8.1/postgresql
/var/lib/pgsql/9.3
Stellen Sie eine Verbindung zu einer Datenbank her und führen Sie den folgenden Befehl aus:
Mehr Informationen:
https://www.postgresql.org/docs/current/sql-show.html https://www.postgresql.org/docs/current/runtime-config-file-locations.html
quelle
Standard in Debian 8.1 und PostgreSQL 9.4 nach der Installation mit dem Paketmanager apt-get
so anscheinend
/var/lib/postgresql/9.4/main
.quelle
Unter Centos 6.5 / PostgreSQL 9.3:
Ändern Sie den Wert von
"PGDATA=/var/lib/pgsql/data"
an einen beliebigen Speicherort in der anfänglichen Skriptdatei/etc/init.d/postgresql
.Denken Sie an
chmod 700
undchown postgres:postgres
an den neuen Standort und Sie sind der Chef.quelle
Mit dem Befehl
pg_lsclusters
(zumindest unter Linux / Ubuntu) können die vorhandenen Cluster und damit auch das Datenverzeichnis aufgelistet werden:quelle
Ich denke, die beste Methode ist, die
pg_setting
Ansicht abzufragen :Ausgabe:
quelle
Die folgende Abfrage hilft beim Auffinden der Postgres-Konfigurationsdatei.
quelle