PostgreSQL su Ubuntu Linux
PostgreSQL è un ottimo database relazionale opensource molto potente che niente ha da invidiare ad altri database opensource (MySQL, MariaDB) o proprietari (Oracle, DB2, MS SQLServer, ...).
Vediamo come installare e configurare PostgreSQL su Ubuntu Linux.
Installazione
E' possibile installarlo direttamente da Ubuntu Software Center perchè è già presente nei repository ufficiali di Ubuntu, ma il mio consiglio è quello di aggiungere i repository ufficiali di PostgreSQL in modo da avere sempre la versione più aggiornata.
Innanzitutto aggiungiamo il repository ufficiale di PostgreSQL creando il file
/etc/apt/sources.list.d/pgdg.list con il seguente comando
sudo nano /etc/apt/sources.list.d/pgdg.list
ed inserendo la seguente riga:
deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main
in questo caso il repository si riferisce ad Ubuntu 14.04 Trusty Tahr, se si volesse indicare il repository di un'altra versione di Ubuntu è sufficiente sostutuire trusty-pgdg con il nome della versione desiderata, ad esempio per Ubuntu 14.10 Utopic Unicorn di indicherà utopic-pgdg.
Ora scarichiamo il certificato del repository ed installiamo PostgreSQL con i seguenti comandi:
sudo apt-get install wget ca-certificates wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get upgrade sudo apt-get install postgresql pgadmin3
con questo comando viene installata la versione più aggiornata di PostgreSQL (in questo momento la versione 9.4 che è appena stata rilasciata il 5 febbraio 2015); se per qualche motivo si desidera una versione diversa è sufficiente indicarla nel comando: esempio postgresql-9.3.
Inoltre nel comando ho indicato il pacchetto pgadmin3 che è il client grafico per gestire PostgreSQL
Setup / Configurazione
Attivare l'utente postgres assegnandogli una password:
sudo -u postgres psql postgres \password postgres # indicare la password desiderata \quit
A questo, utilizzando il client grafico pgadmin3, creiamo una connessione al server PostgreSQL
e creaiamo un nuovo database
Permettere la connessione remota a PostgreSQL
L'installazione di default di PostgreSQL permette la connessione al server sulla porta 5432 ma solo da locale.
Per permettere l'accesso remoto a PostgreSQL bisogna modificare le seguenti configurazioni:
sudo nano /etc/postgresql/9.4/main/postgresql.conf
modificare la seguente riga in questo modo:
listen_addresses='*'
per abilitare tutti, oppure
listen_addresses='192.168.0.87'
per abilitare solo le connessioni da uno specifico indirizzo IP.
Quindi modificare la configurazione per le autenticazioni:
sudo nano /etc/postgresql/9.4/main/pg_hba.conf
aggiungendo la seguente riga:
host all all 0.0.0.0/0 md5 # abilita tutti #host all all 192.168.0.87/32 md5 # abilita solo l'IP 192.168.0.87 #host all all 192.168.0.0/24 md5 # abilita solo LAN
infine riavviare o ricaricare il servizio:
sudo /etc/init.d/postgresql restart
Riferimenti per approdondimenti alla configurazione del file pg_hba.conf
Connessione JDBC a PostgreSQL
Ovviamente è possibile conettersi a PostgreSQL tramite i driver JDBC per sviluppo o utilizzo di tool grafici.
Ad esempio, per chi utilizza il tool grafico DBEdit 2 scaricare il driver JDBC di PostgreSQL e metterlo nella cartella DBEDit insieme agli altri.
Avviare DBEdit e creare la nuova connessione come Other con i seguenti parametri:
- URL: jdbc:postgresql://ip_server:5432/db_name
- username
- password
Riferimenti per approdondimenti relativi ai parametri della stringa di connessione JDBC PostgreSQL
Altri riferimenti per approfondimenti
https://help.ubuntu.com/community/PostgreSQL
http://www.postgresql.org/download/linux/ubuntu/
https://wiki.postgresql.org/wiki/Apt