PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Posizione predefinita del database PostgreSQL su Linux

La "directory in cui postgresql manterrà tutti i database " (e configurazione) si chiama "directory dei dati" e corrisponde a ciò che PostgreSQL chiama (un po' confusamente) un "cluster di database", che non è correlato al calcolo distribuito, significa semplicemente un gruppo di database e relativi oggetti gestiti da un PostgreSQL server.

La posizione della directory dei dati dipende dalla distribuzione. Se installi dal sorgente, l'impostazione predefinita è /usr/local/pgsql/data :

In termini di file system, un databasecluster sarà una singola directory in cui verranno archiviati tutti i dati. La chiamiamo directory dei dati o area dei dati. Dipende completamente da te dove scegliere di archiviare i tuoi dati. Non esiste un valore predefinito, sebbene posizioni come/usr/local/pgsql/data o/var/lib/pgsql/data siano popolari.(ref)

Inoltre, un'istanza di un server PostgreSQL in esecuzione è associata a un cluster; la posizione della sua directory di dati può essere passata al demone del server ("postmaster" o "postgres") nel -D opzione della riga di comando, o dal PGDATA variabile di ambiente (di solito nell'ambito dell'utente in esecuzione, in genere postgres ). Di solito puoi vedere il server in esecuzione con qualcosa di simile a questo:

[[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

Si noti che è possibile, anche se non molto frequente, eseguire due istanze dello stesso server PostgreSQL (stessi binari, processi diversi) che servono diversi "cluster" (directory di dati). Ovviamente, ogni istanza sarebbe in ascolto sulla propria porta TCP/IP.