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

La connessione via TCP/IP, in modo predefinito, è disabilitata. PostgreSQL è in grado di supportare molteplici metodi di autenticazione, quello predefinito per postgres e gli utenti locali è IDENT. Per maggiori informazioni fare riferimento alla PostgreSQL Administrator's Guide.

Si assume che si voglia abilitare le connessioni TCP/IP e usare il metodo MD5 per l'autenticazione client. I file di configurazione di PostgreSQL sono archiviati nella directory `/etc/postgresql/<VERSIONE>/main`. Per esempio, se si installa PostgreSQL 8.3, i file di configurazione sono archiviati nella directory `/etc/postgresql/8.3/main`.

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

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

Localizzare la riga #listen_addresses = 'localhost' e modificarla in:

    listen_addresses = 'localhost'

Per consentire ad altri computer di collegarsi al server PostgreSQL, sostituire "localhost" con l'indirizzo IP del server.

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.

Ora che è possibile collegarsi al server PostgreSQL, è necessario impostare una password per l'utente postgres. In un terminale, eseguire il seguente comando per connettersi al modello di database predefinito di PostgreSQL:

    sudo -u postgres psql 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.

    ALTER USER postgres with encrypted password 'TUA_PASSWORD';

Una volta configurata la password, modificare il file `/etc/postgresql/8.3/main/pg_hba.conf` affinché venga usata l'autenticazione MD5 con l'utente postgres:

    local all postgres md5 sameuser

Infine, riavviare il servizio PostgreSQL per inizializzare la nuova configurazione. In un terminale, digitare quanto segue per riavviare PostgreSQL:

    sudo /etc/init.d/postgresql-8.3 restart

La configurazione precedente non è completa. Per maggiori informazioni, fare riferimento alla PostgreSQL Administrator's Guide.

### Risorse

- Come precedentemente detto, la Administrator's Guide è un'ottima risorsa ed è disponibile anche nel pacchetto postgresql-doc-8.3. Per installarlo, in un terminale, digitare:

      sudo apt-get install postgresql-doc-8.3

  Per visualizzare la guida inserire, nella barra degli indirizzi del proprio browser: file:///usr/share/doc/postgresql-doc-8.3/html/index.html.

- Per informazioni generali riguardo SQL, consultare Using SQL Special Edition di Rafe Colburn.

MySQL |  | Capitolo 11. Applicazioni wiki