PostgreSQL è un database relazionale free ed open source che si presta anche ad usi professionali e aziendali in cui si deve gestire una consistente mole di dati e transazioni. Io, più modestamente, l’ho installato sul mio portatile e lo uso stand-alone solo come database per testare alcuni applicativi Java.
Essendo nei repository ufficiali l’installazione è molto semplice:
sudo apt-get install postgresql-8.2
per installare il vero e proprio database.
Tutto dovrebbe filare liscio ma se doveste incappare in un errore tipo
could not resolve "localhost"
(come è successo a me:-) controllate che nel file /etc/hosts ci sia il mapping corretto:
127.0.0.1 localhost
e che la linea non sia commentata. Fatto questo passiamo ad installare anche l’interfaccia grafica per amministrare il DB: pgadmin III
sudo apt-get install pgadmin3
Ovviamente tutte queste operazioni si possono eseguire anche da Synaptic (System -> Administration -> Synaptic Package Manager). Il passo successivo è quello di configurare l’user postgres per poter accedere al DB con pgadmin III. Da terminale:
sudo -u postgres psql template1
al prompt date il seguente comando:
ALTER USER postgres WITH PASSWORD 'password';
dove “password” va rimpiazzata con una password di vostra scelta (la password va racchiusa tra apici come nell’esempio). Poi uscite dal programma di configurazione con il seguente comando:
\q
Rimane solo da creare un database:
sudo -u postgres createdb nome_mio_db
dove “nome_mio_db” va rimpiazzato con un nome di vostra scelta per il database.
Ora siamo pronti per abbandonare il terminale e utilizzare pgadmin III per amministrare il DB (creare tabelle, inserire record, eseguire query, ecc.).
Dovreste trovare pgadmin III nel menu Applications -> System tools -> pgadmin III
ma in ogni caso potete avviare il programma da terminale con il comando:
pgadmin3
una volta avviato dobbiamo aggiungere il server: menu file -> Add Server
in “address” va messo 127.0.0.1 (ovviamente se il database è stato installato in locale come in questo esempio). Il campo “description” è a vostra scelta: mettete una breve descrizione del database. La porta va lasciata quella di default e nel campo “service” mettete il nome del database che avete scelto. Per i miei bisogni questa configurazione è più che sufficiente. Se avete bisogno di creare più users per il database, installarlo su un server remoto, ecc. vi consiglio un’occhiata ai seguenti siti:
http://www.postgresql.org/ (sito ufficiale di PostgreSQL)
http://www.pgadmin.org/ (per pgadmin III)
https://help.ubuntu.com/community/PostgreSQL (il breve tutorial su cui ho basato questo post)
http://help.ubuntu-it.org/7.04/ubuntu/serverguide/it/databases.html
Ultima nota da tenere presente. PostgreSQL viene installato di default come servizio, vale a dire come programma che parte all’avvio del sistema. È probabile che sul vostro desktop questa configurazione non sia ottimale: se si tratta di un database di test che usate solo in locale potreste valutare di disabilitarlo come servizio ed evitare di avere la porta 5432 perennemente aperta in ascolto. Per disabilitare il servizio: menù System -> Administration -> Services e togliete il flag a Database Server (Postgresql-8.x.x) e chiudete la finestra. Il servizio verrà chiuso immediatamente e rimmarrà chiuso anche ai successivi riavvii dovrete perciò avviare postgresql a mano ogni volta ne avrete necessità. Essendo un servizio, troverete lo script in:
/etc/init.d
per cui potete avviarlo da terminale con il comando:
sudo /etc/init.d/postgresql-8.2 start
e stopparlo con:
sudo /etc/init.d/postgresql-8.2 stop
In ogni momento potete verificare lo stato del server PostgreSQL con i seguenti due comandi da terminale:
ps -ef | grep postgresql
per controllare se postgresql è tra i processi attivi sul vostro pc oppure:
sudo netstat -tap | grep postgresql
per evidenziare le porte e connessioni aperte da postgresql (sempre che sia avviato).




Ciao
il tuo tutorial mi è servito molto, ma ho riscontrato un problema molto serio, al passaggio add new server, seguo le tue istruzioni e inserisco la password risultato: FATAL ERROR no valid password for user “postgres”.
Ti è mai successo? Io non so come fare, ho provato a reinstallare postgres 8.2.5 sia da terminale sia da synaptic ma niente, ho provato a ripetere la procedura password, ma attualmente non riesco ad accedere a nessun dei due test che ho fatto e tanto meno a sapere dove sono questi file (se esistono) per cancellarli.
Per favore ti chiedo un aiuto, ho perso tutta la giornato con database per farne funzionare uno!!!
Ti ringrazio in anticipo.
Ciao
Simone
spiegazione molto chiara, grazie mille!
Ho seguito le tue istruzioni.
Tutto ok.
Grazie mille
Eccezionale guida! Mi serviva! Thanks
Veramente utile!
Grazie mille e buon lavoro!!!
Vengo da un anno e mezzo di MySQL (ed anni di Firebird su Win), passo a Postgres per lavori più ‘pesanti’.
Questo articolo mi è stato utilissimo, grazie!
Grazie davvero!
Sto preparando un esame universitario e mi stavo già incartando con l’installazione del DBMS: non oso pensare a come andrà il resto!
Grazie per l’indispensabile aiuto!!
guida semplice e precisa.
grazie mille
Ciao,
anche noi come Simone ci siamo affidati al tuo utilissimo tutorial, MA quando cerchiamo di aggiungere il server: FATAL ERROR no valid password for user “postgres”.
Non c’è verso: siamo in un vicolo cieco.
Speriamo in una pia anima ;–))
Ciao!
Mi faccio viva di nuovo per dirti che all’indirizzo http://banalmenteoriginale.wordpress.com/ubuntuco/postgres-su-ubuntu/ ho scritto un articolo sull’uso di Postgrss con Ubuntu in cui ho linkato questa guida come traccia consigliata per l’installazione.
Grazie ancora!
@FAbio & Luca
@Simone
Onestamente non riesco a replicare il problema in cui siete incappati pero’ non siete stati gli unici ad incorrere in qualche inconveniente in fase d’installazione.
Faccio un appello: se qualcuno ha risolto questa annosa questione (e soprattutto ne ha capito la causa), si faccia vivo e saro’ ben lieto di pubblicare il commento.
Ciao,
provate a verificare il log di postgresql.
Eventualmente se non vi è utile e chiaro cercate la stringa nel log su google.
Altrimenti guardate questo tutorial:
http://www.ubuntugeek.com/howto-setup-database-server-with-postgresql-and-pgadmin3.html
Ciao. Max
Anche io ho avuto lo stesso errore di Fabio & Luca
e Simone: FATAL ERROR no valid password for user “postgres”.
Ho scoperto che, almeno nel mio caso, il problema era semplicemente l’essermi dimenticato il punto e virgola alla fine dell’istruzione:
“ALTER USER postgres WITH PASSWORD ‘password’;”
Fateci molta attenzione quindi.
Spero che questo risolva i vostri problemi.
Anche a me dà lo stesso errore, e non è un problema di ; … uuffa, tesi bloccata!! help!!
Grazie!
Esordiente totale.
http://i35.tinypic.com/2ywv52p.jpg
sono corretti i dati che ho inserito?
Come password ho inserito il nome del mio computer (se non ho sbagliato (*)) ma restituisce un fatal error
grazie
Francesco
p.s. sapete come si fa a vedere il nome del proprio computer? bisogna andare nel BIOS?
ovviamente ho provato come scritto su questa pagina web e non funziona…
uso xp
Per chi ha avuto problemi con la password vi consiglio di non fare copia e incolla dal tutorial perché vi metterà gli apici al contrario e l’istruzione darà errore. Gli apici corretti sono quelli sopra il punto interrogativo!
ottimo articolo, spieghi esattamente quello che ho cercato invano per ore
ho un errore nell’installazione al punto 3 quando devo inserire
sudo -u postgres psql template1
ho questo log
andrea@andrea-laptop:~$ sudo -u postgres psql template1
psql: could not connect to server: Nessun file o directory
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432″?
sapete aiutarmi?
Ottimo, era proprio quello che cercavo.
Ho fatto tutto su Ubuntu 8.4 e non ho avuto alcun problema.
ottimo tutorial!
l’installazion
e è andata benissimo su ubuntu 7.10
Semplice ed ottimo tutorial .Grazie.
Per tutti quelli che hanno riscontrato :
FATAL ERROR no valid password for user “postgres”.
Quasi tutte le istruzioni SQL che prevedono l’utilizzo di una stringa utilizzano APICE SINGOLO (quello sotto il PUNTO INTERROGATIVO) per delimitarla.
Quindi quando copiate ed incollate (oramai lo si fa in maniera meccanica) :
ALTER USER postgres WITH PASSWORD ‘password’;
Fate attenzione agli APICI che non sono l’APICE SINGOLO ma quelli utilizzati nella nostra lingua, quello di APERTURA e CHIUSURA ….