Project

General

Profile

Actions

PostgresInitConf » History » Revision 6

« Previous | Revision 6/11 (diff) | Next »
Amministratore Truelite, 03/18/2008 03:03 PM


TracNav(TOC) = Configurazione di base di PostgresSQL =

Si sono riassunte qui le istruzioni per effettuare alcune configurazioni di
base sul database PostgresSQL. Si tenga presente che installando il pacchetto {{{postgres}}} su Debian Etch verrà installata la versione 7.4, se si vuole
utilizzare la versione più recente si dovrà installare esplicitamente il
pacchetto {{{postgres-8.1}}}.

Si tenga presente che è sempre possibile installare due versioni diverse del
database in contemporanea, ed il sistema di configurazione di Debian si
prenderà carico di farli funzionare insieme, assegnandogli porte diverse: il
primo ad essere installato userà la porta standard 5432, il secondo la
successiva 5433, ecc.

Ovviamente se si rimuove la prima versione installata la seconda resterà in
ascolto sulla porta non standard, (se ne tenga conto qualora ci siano altri
programmi che usano il database installati dai pacchetti Debian, dato che
questi si collegano di default sulla porta 5432).

L'installazione di default del pacchetto di Debian consente l'accesso soltanto
da {{{localhost}}} e soltanto tramite l'utente locale {{{postgres}}}. Qualora
serva poter accedere al database via rete occorre modificare la configurazione
del server. Questa si trova, a seconda dell versione installata, nella
directory {{{/etc/postgres/7.4/main/}}} o {{{/etc/postgres/8.1/main/}}}.

Per abilitare l'accesso via rete occorre anzitutto porre in ascolto il server
su un indirizzo IP raggiungibile, rispetto al default che è porsi in ascolto
solo sul {{{localhost}}}, per farlo occorre modificare il file {{{postgressql.conf}}} inserendo una riga del tipo:

{{{
listen_addresses='*'
}}}

che abilita l'ascolto su tutti gli indirizzi locali, alternativamente si può
indicare un indirizzo specifico, nello stesso file si può anche indicare una
porta diversa da quella di default con la direttiva {{{port}}}.

Il passo successivo è modificare le regole di accesso su {{{pg_hba.conf}}}, il
default infatti è accettare le connessioni solo per un utente locale del
sistema o per accessi da {{{localhost}}}, per abilitarle da una sottorete
generica si dovrà introdurre una riga del tipo:

{{{
host all all 192.168.1.0/24 md5
}}}

che consente l'accesso agli utenti presenti sul database, identificati tramite
un hash MD5 (il default usato dalla gestione utenti del database). Effettuati
i cambiamenti si dovrà riavviare il servizio per renderli effettivi.

Per i compiti amministrativi l'installazione di default utilizza l'utente
locale {{{postgres}}} che consente l'accesso diretto al database con pieni
diritti amministrativi, per questo il primo passo da fare è sempre quello di
collegarsi con tale utente (in genere lo si fa con un {{{su postgres}}} dato
da {{{root}}}).

La linea di comando per l'accesso al database è fornita dal comando {{{psql}}}
che prende come primo argomento (opzionale) il nome di un database e come
secondo argomento (sempre opzionale) il nome di un utente, se ci si vuole
collegare via rete occorre usare l'opzione {{{-h}}} per indicare l'hostname (o
l'indirizzo IP). I comandi di base sono i seguenti:

{{{\l}}} mostra l'elenco dei database
{{{\c nome}}} si collega al database {{{nome}}}
{{{\d}}} mostra l'elenco delle tabelle del database (prima ci si deve collegare allo stesso)
{{{\du}}} mostra l'elenco degli utenti (si deve essere collegati)

Per verificare la lista degli utenti definiti ci si dovrà collegare al
database di sistema {{{postgres}}}, per questo si potrà usare direttamente il
comando {{{psql postgres}}}, a questo punto con il comando {{{\du}}} si avrà
la lista degli utenti.

Per creare un nuovo utente si può utilizzare il comando {{{createuser}}} che
di default crea un utente senza privilegi (a meno di non usare l'opzione {{{-d}}} per consentire la creazione di altri database o l'opzione {{{-a}}}
per consentire la creazione di altri utenti). Il comando deve essere dato da
un utente con privilegi amministrativi (nel caso l'utente {{{postgres}}}), si
potrà allora aggiungere l'utente {{{myuser}}} con: {{{
su postgres
createusere myuser
}}}
e se si usa l'opzione {{{-P}}} verrà anche chiesta una password, necessaria
nel caso ci si voglia collegare da remoto con la configurazione mostrata in
precedenza.

Se si vuole cambiare password ad un utente è sufficiente collegarsi con un
utente dotato di privilegi amministrativi al database {{{postgres}}} ed
eseguire il seguente comando:

{{{
ALTER USER nomeutente WITH PASSWORD 'nuovapassword';
}}}

Updated by Amministratore Truelite about 12 years ago · 6 revisions