2 – Prima configurazione
Postgresql in prima installazione lavora per default solo in local host , ovvero accetta connessioni solo dalla stessa macchina su cui è stato installato .
Per utilizzare postgresql in rete bisogna abilitarlo attraverso i suoi file di configurazione .
- postgresql.conf
- pg_hba.conf
Il file postgresql.conf e’ il file che gestisce la maggior parte delle configurazioni e ottimizzazioni per postgresql.
Per configurarlo in modo da gestire le connessioni in rete lan bisogna ricercare la linea seguente
# listen_addresses = ‘localhost’
e modificarla come segue
listen_addresses = ‘*’
mentre le righe seguenti dovrebbero essere già impostate come segue
port = 5432
max_connections = 100
Impostando il valore della voce listen_addresses su ‘*’ verranno accettate tutte le connessioni dagli hosts remoti sulla porta 5432 .
Ora attraverso il file pg_hba.conf andremo a definire quali reti e quali tipi di autenticazione vengono abilitati .
La configurazione di default è quella sotto riportata :
# TYPE DATABASE USER CIDRADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
In queste condizioni l’unico collegamento possibile è dal localhost con la password passata in chiaro .
Se ad esempio volessimo collegarci al server postgres dalle reti 192.168.1.x e 192.168.2.x il file dovrà essere modificato come segue :
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 trust
host all all 192.168.2.0/24 trust
Ora è possibile collegarsi al server postgresql dal localhost e dalle reti 192.168.1.x e 192.168.2.x con la password passata in chiaro.
Il numero dopo l’indirizzo IP definisce la subnet mask e per semplificare potete usare la tbella sotto :
32 -> 255.255.255.255
24 -> 255.255.255.0
16 -> 255.255.0.0
8 -> 255.0.0.0
Per la voce password invece si ha :
trust -> password passata in chiaro (deve essere la password dell’utente configurato in postgres)
md5 -> password criptata (deve essere la password dell’utente configurato in postgres)
esistono altre possibilità ma si rimanda alla documentazione ufficiale di postgres .
Una volta apportate le modifiche al file pg_hba.conf, è necessario riavviare il daemon di PostgreSQL (per caricare le nuove impostazioni) , chiamato postmaster (usa pstree per visualizzarlo) usando questo comando in un terminale se si sta lavorando su piattaforme Linux :
sudo -u /etc/init.d/postgresql restart
La prima cosa da fare subito dopo aver impostato i file di configurazione è configurare la password dell’utente Postgre che è l’utente amministrativo del server SQL .
Per fare questo bisogna avviare il terminale e usare il comando sotto riportato :
sudo -u postgres psql -c “ALTER USER postgres WITH PASSWORD ‘x’”
Sostituendo alla x la password scelta.
Per la gestione del database , se non siete particolarmente “amici” della shell , si può utilizzare un programma di gestione che si chiama PGAdmin che semplifica di molto le varie operazioni di gestione e manutenzione .