Das "Verzeichnis, in dem postgresql alle Datenbanken speichert " (und Konfiguration) heißt "Datenverzeichnis" und entspricht dem, was PostgreSQL (etwas verwirrend) einen "Datenbank-Cluster" nennt, der nichts mit verteiltem Rechnen zu tun hat, sondern nur eine Gruppe von Datenbanken und verwandten Objekten bedeutet, die von einem PostgreSQL verwaltet werden Server.
Der Speicherort des Datenverzeichnisses hängt von der Distribution ab. Wenn Sie von der Quelle installieren, ist der Standardwert /usr/local/pgsql/data
:
Aus Sicht des Dateisystems ist ein Datenbankcluster ein einzelnes Verzeichnis, in dem alle Daten gespeichert werden. Wir nennen dies das Datenverzeichnis oder den Datenbereich. Es liegt ganz bei Ihnen, wo Sie Ihre Daten speichern. Es gibt keinen Standard, obwohl Speicherorte wie /usr/local/pgsql/data oder /var/lib/pgsql/data beliebt sind.(ref)
Außerdem ist eine Instanz eines laufenden PostgreSQL-Servers einem Cluster zugeordnet; der Ort seines Datenverzeichnisses kann dem Server-Daemon ("postmaster" oder "postgres") im -D
übergeben werden Befehlszeilenoption oder durch PGDATA
Umgebungsvariable (normalerweise im Bereich des laufenden Benutzers, typischerweise postgres
). Sie können den laufenden Server normalerweise so sehen:
[[email protected] ~]# ps auxw | grep postgres | grep -- -D
postgres 1535 0.0 0.1 39768 1584 ? S May17 0:23 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
Beachten Sie, dass es möglich, aber nicht sehr häufig ist, zwei Instanzen desselben PostgreSQL-Servers (gleiche Binärdateien, unterschiedliche Prozesse) auszuführen, die unterschiedliche "Cluster" (Datenverzeichnisse) bedienen. Natürlich würde jede Instanz auf ihrem eigenen TCP/IP-Port lauschen.