## PostgreSQL

PostgreSQL è un database relazionale orientato agli oggetti che presenta le caratteristiche di un database commerciale tradizionale e anche miglioramenti dei sistemi DBMS di prossima generazione.

### Installazione

Per installare PostgreSQL, eseguire il seguente comando dal terminale:

    sudo apt-get install postgresql

Una volta che l'installazione è completata, è possibile configurare il server PostgreSQL a seconda delle proprie esigenze, sebbene la configurazione predefinita sia abbastanza buona.

### Configurazione

In modo predefinito, la connessione attraverso il protocollo TCP/IP è disabilitata. PostrgreSQL supporta diversi metodi di autenticazione. Quello predefinito è il metodo IDENT. Consultare la guida dell'amministratore PostgreSQL.

I passi seguenti assumono che si voglia abilitare la connessione TCP/IP e che si desideri utilizzare il metodo di autenticazione MD%. I file di configurazione di PostgreSQL sono nella directory `/etc/postgresql/<version>/main`. Per esempio, se si installa PostgreSQL 7.4, i file di configurazione sono nella directory `/etc/postgresql/7.4/main`.

Per configurare l'autenticazione ident, aggiungere delle voci nel file `/etc/postgresql/7.4/main/pg_ident.conf`.

Per abilitare le connessioni TCP/IP, modificare il file `/etc/postgresql/7.4/main/postgresql.conf`

Localizzare la riga #tcpip_socket = false e modificarla in tcpip_socket = true. Tutti gli altri parametri possono essere modificati, ma bisogna sapere cosa si sta facendo. Per maggiori informazioni, consultare la documentazione di PostgresSQL o fare riferimento ai file di configurazione.

Le credenziali dell'utente, in modo predefinito, non sono impostate per l'autenticazione MD5. È quindi necessario, per prima cosa, configurare il server PostgreSQL all'utilizzo dell'autenticazione trust, connettersi al database, configurare la password e ripristinare la configurazione affinché utilizzi l'autenticazione MD5. Per attivare l'autenticazione trust, modificare il file `/etc/postgresql/7.4/main/pg_hba.conf`.

Togliere il commento a tutte le righe che contengono l'identificazione ident e MD5, quindi aggiungere la seguente riga:

    local all postgres trust sameuser

Eseguire il seguente comando per avviare il server PostgreSQL:

    sudo /etc/init.d/postgresql start

Una volta che il server PostgreSQL è avviato con successo, eseguire il seguente comando in un terminale per collegarsi al database template predefinito di PostgreSQL

    psql -U postgres -d template1

Il comando precedente connette al database PostreSQL template1 come l'utente postgres. Una volta collegati al server PostgreSQL, si sarà al prompt SQL. È possibile eseguire il seguente comando SQL al prompt psql per configurare la password per l'utente postgres.

    template1=# ALTER USER postgres with encrypted password 'tua_password';

Una volta configurata la password, modificare il file `/etc/postgresql/7.4/main/pg_hba.conf` per utilizzare l'autenticazione MD5:

Commentare la riga trust recentemente aggiunta e aggiungere la seguente:

    local all postgres md5 sameuser

La configurazione sopra indicata non è completa. Per la configurazione di altri parametri fare riferimento alla guida dell'amministratore di PostgreSQL.

MySQL |  | Capitolo 8. Applicazioni wiki