Altra mia antica guida, appena revisionata, godetevela!

Con questa guida mi propongo di mostrare i passi fondamentali per procedere all’installazione ed all’inizializzazione di un server postgresql e del relativo client; prima di procedere, però, vi avviso che Postgres sarà installato come servizio di sistema (che quindi si avvierà all’avvio del computer); quindi, se volete installare il server per il vostro ambiente di testing e/o per fini educazionali, il mio consiglio è di accedere al server solo da locale, inibendo il traffico da remoto sulla porta di ascolto (quella di default è 5432, potrete farlo con un firewall o meglio ancora attraverso le impostazioni del vostro router); potrete comunque interrompere il servizio in qualsiasi momento, digitando da terminale il comando “sudo service postgresql stop“.

Postgresql – Installazione Client su Ubuntu

Se abbiamo bisogno esclusivamente di un client Postgresql che vi permetta di collegarvi ad un server ubicato altrove è altamente sconsigliato eseguire l’installazione del server postgresql sulla vostra macchina – in quanto vi esporrebbe a potenziali problemi legati alla sicurezza, se non è presente un firewall/triggering configurato in modo opportuno. Qualora il vostro utilizzo sia limitato al client, vi consiglio di installare soltanto il client CLI-based e la GUI grafica. che vi vi permetteranno di gestire il tutto: da terminale, digitate

sudo apt-get install postgresql-client pgadmin3

Attendete il completamento dell’installazione, e da questo momento in poi potrete scegliere due metodi diversi:

  1. Collegarvi al vostro server postgresql utilizzando l’interfaccia CLI-based, quindi esclusivamente da linea di comando; per procedere, digitate a terminale

    psql -h indirizzo.del.server nomedatabase nomeutente

    (ad esempio, se il mio database si trova su “srv01.netsons.org”,  si chiamasse “template1” e il mio username fosse “tux1”, andrò a digitare il comando (senza virgolette) “psql -h srv01.netsons.org template1 tux1”).

  2. Collegarvi al vostro server postgresql utilizzando pgadmin: potrete trovare il tool nella dash, oppure avviarlo da linea di comando digitando “pgadmin3″ (senza virgolette); vi apparirà qualcosa di simile all’immagine in basso:

postgresql-config-linux

Fate a questo punto click sull’icona a forma di spina elettrica e configurate la vostra connessione al server compilando la scheda; utilizzando questa finestra potrete anche aggiungere certificati per collegamenti protetti, ed accedere a servizi aggiuntivi.

postgresql-config

Finito! A questo punto potrete iniziare a controllare il vostro database (tramite linea di comando utilizzando la sintassi di postgresql, oppure tramite click del mouse utilizzando pgadmin).

Postgresql – Installazione server Ubuntu

Installare un server Postgresql su Ubuntu non è certo difficile, in quanto disponiamo dell’installer presente direttamente nei repositoryper proseguire ed installare postgresql server, quindi, digitiamo da terminale:

sudo apt-get install postgresql

ed attendiamo il completamento del processo. Se non avete bisogno di ulteriore configurazione potrete saltare i passaggi seguenti e andare direttamente alla fase di configurazione dell’utente principale; se, invece, avete bisogno di cambiare la porta d’ascolto (quella predefinita è 5432), impostare blocchi o cose simili, potrete andare a modificare manualmente (con permessi di root) il file postgresql.conf che si trova, in generale, nel percorso:

/etc/postgresql/numero_versione/main/postgresql.conf

Per la versione 9.1 di postgresql, ad esempio, il file di configurazione si troverà su:

/etc/postgresql/9.1/main/postgresql.conf

e, una volta effettuate le vostre modifiche, salvate il file e riavviate il servizio postgresql con il comando

sudo service postgresql restart

Postgresql server – Adminpack (pgAdmin only)

Qualora abbiate bisogno di installare l’adminpack per pgAdmin, tutto ciò che dovrete fare (in postgresql 9.1) sarà installare il relativo pacchetto e darlo al server attraverso lo script ad-hoc, con i comandi

sudo apt-get install postgresql-contrib
echo "CREATE EXTENSION adminpack" | su postgres -c "psql -U postgres postgres";

Postgresql server – inizializzazione

La prima cosa che dovrete fare per essere in grado di operare sul vostro DBMS sarà andare a modificare la password dell’utente di sistema “postgres” (che sarà l’utente con privilegi più elevati, nel nostro caso sarete voi) ed impostarne l’accesso al database di servizio (che di default si chiama, anch’esso, postgres); per procedere, digitate a terminale

sudo -u postgres psql postgres

Avrete così accesso alla console operativa del server; per impostare la password all’utente postgres (ovvero voi) digitate

password postgres

ed inserite due volte la password scelta; ritornerete così al prompt. Premete CTRL+D per uscire. A questo punto sarà bene creare un utente con privilegi elevati che possa operare sui database, così da tenere l’utente postgres al sicuro (che è sempre cosa buona e giusta); per semplicità, e siccome di installazione in locale parliamo, create un utente che abbia il vostro stesso username, con il comando

sudo -u postgres createuser --superuser $USER

ed andate successivamente a impostarne la password, con il comando:

sudo -u postgres psql
password vostro_nome_utente

premete la combinazione di tasti CTRL+D per uscire dalla console. Bene, a questo punto potrete finalmente creare il vostro primo database semplicemente digitando:

createdb nome_database

(sostituendo a nome_database il nome che avrete scelto). Fatto, da questo momento in poi potrete iniziare ad operare sul vostro database utilizzando il client (seguendo uno dei metodi descritti nell’utilizzo client-only), impostando come:

  • indirizzo ip: localhost oppure 127.0.0.1
  • porta: 5432 (a meno che non l’abbiate modificata);
  • servizio: vuoto
  • database di gestione: il nome che avete scelto per il vostro database
  • nome utente: il vostro username
  • password: la vostra password

So che la guida può sembrare complicata (ma vi assicuro non lo è), per questo motivo, se avete domande, dubbi e quant’altro vi passa per la testa, scriveteli sul FORUM!