De "directory waar postgresql alle databases zal bewaren " (en configuratie) wordt "datadirectory" genoemd en komt overeen met wat PostgreSQL (een beetje verwarrend) een "databasecluster" noemt, dat niet gerelateerd is aan gedistribueerd computergebruik, het betekent gewoon een groep databases en gerelateerde objecten beheerd door een PostgreSQL server.
De locatie van de datadirectory is afhankelijk van de distributie. Als u vanaf de bron installeert, is de standaard /usr/local/pgsql/data
:
In bestandssysteemtermen zal een databasecluster een enkele directory zijn waaronder alle gegevens worden opgeslagen. We noemen dit de datadirectory of het datagebied. Het is geheel aan jou waar je ervoor kiest om je gegevens op te slaan. Er is geen standaard, hoewel locaties zoals/usr/local/pgsql/data of/var/lib/pgsql/data populair zijn.(ref)
Bovendien is een instantie van een actieve PostgreSQL-server gekoppeld aan één cluster; de locatie van zijn gegevensmap kan worden doorgegeven aan de serverdaemon ("postmaster" of "postgres") in de -D
opdrachtregeloptie, of door de PGDATA
omgevingsvariabele (meestal binnen het bereik van de huidige gebruiker, meestal postgres
). Je kunt de actieve server meestal zien met zoiets als dit:
[[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
Merk op dat het mogelijk is, hoewel niet erg frequent, om twee instanties van dezelfde PostgreSQL-server (dezelfde binaire bestanden, verschillende processen) uit te voeren die verschillende "clusters" (gegevensmappen) bedienen. Natuurlijk luistert elke instantie op zijn eigen TCP/IP-poort.