Progetto

Generale

Profilo

PostgresInitConf » Cronologia » Versione 3

Amministratore Truelite, 13-11-2007 15:42

1 1 Amministratore Truelite
[[TracNav(TOC)]]
2
= Configurazione di base di Postgres =
3
4
Si sono riassunte qui le istruzioni per effettuare alcune configurazioni di
5
base sul database PostgresSQL. Si tenga presente che installando il pacchetto
6
{{{postgres}}} su Debian Etch verrà installata la versione 7.4, se si vuole
7
utilizzare la versione più recente si dovrà installare esplicitamente il
8
pacchetto {{{postgres-8.1}}}.
9
10 2 Amministratore Truelite
Si tenga presente che è sempre possibile installare due versioni diverse del
11
database in contemporanea, ed il sistema di configurazione di Debian si
12
prenderà carico di farli funzionare insieme, assegnandogli porte diverse: il
13
primo ad essere installato userà la porta standard 5432, il secondo la
14
successiva 5433, ecc.  Ovviamente se si rimuove la prima versione installata
15
la seconda resterà in ascolto sulla porta non standard, (se ne tenga conto
16
qualora ci siano altri programmi che usano il database installati dai
17 3 Amministratore Truelite
pacchetti Debian, dato che questi si collegano di default sulla porta 5432).
18 2 Amministratore Truelite
 
19 1 Amministratore Truelite
L'installazione di default del pacchetto di Debian consente l'accesso soltanto
20
da {{{localhost}}} e soltanto tramite l'utente locale {{{postgres}}}. Qualora
21
serva poter accedere al database via rete occorre modificare la configurazione
22 2 Amministratore Truelite
del server. Questa si trova, a seconda dell versione installata, nella
23
directory {{{/etc/postgres/7.4/main/}}} o {{{/etc/postgres/8.1/main/}}}. 
24 1 Amministratore Truelite
25 2 Amministratore Truelite
Per abilitare l'accesso via rete occorre anzitutto porre in ascolto il server
26
su un indirizzo IP raggiungibile, rispetto al default che è porsi in ascolto
27
solo sul {{{localhost}}}, per farlo occorre modificare il file
28
{{{postgressql.conf}}} inserendo una riga del tipo:
29
30 1 Amministratore Truelite
{{{
31
listen_addresses='*'
32 2 Amministratore Truelite
}}}
33
34
che abilita l'ascolto su tutti gli indirizzi locali, alternativamente si può
35
indicare un indirizzo specifico, nello stesso file si può anche indicare una
36
porta diversa da quella di default con la direttiva {{{port}}}.
37
38
Il passo successivo è modificare le regole di accesso su {{{pg_hba.conf}}}, il
39
default infatti è accettare le connessioni solo per un utente locale del
40
sistema o per accessi da {{{localhost}}}, per abilitarle da una sottorete
41
generica si dovrà introdurre una riga del tipo:
42
43
{{{
44
host    all         all         192.168.1.0/24               md5
45
}}}
46
47
che consente l'accesso agli utenti presenti sul database, identificati tramite
48
un hash MD5 (il default usato dalla gestione utenti del database). Effettuati
49
i cambiamenti si dovrà riavviare il servizio per renderli effettivi.
50
51
Per i compiti amministrativi l'installazione di default utilizza l'utente
52
locale {{{postgres}}} che consente l'accesso diretto al database con pieni
53
diritti amministrativi, per questo il primo passo da fare è sempre quello di
54
collegarsi con tale utente (in genere lo si fa con un {{{su postgres}}} dato
55
da {{{root}}}).
56
57
La linea di comando per l'accesso al database è fornita dal comando {{{psql}}}
58
che prende come primo argomento (opzionale) il nome di un database e come
59
secondo argomento (sempre opzionale) il nome di un utente, se ci si vuole
60
collegare via rete occorre usare l'opzione {{{-h}}} per indicare l'hostname (o
61
l'indirizzo IP). I comandi di base sono i seguenti:
62
63
||{{{\l}}}|| mostra l'elenco dei database||
64
||{{{\c nome}}}|| si collega al database {{{nome}}}||
65
||{{{\d}}}|| mostra l'elenco delle tabelle del database (prima ci si deve collegare allo stesso)||
66
||{{{\du}}}|| mostra l'elenco degli utenti (si deve essere collegati)||
67
68
Se si vuole cambiare password ad un utente è sufficiente collegarsi con un
69
utente dotato di privilegi amministrativi ed eseguire il seguente comando:
70
71
{{{
72
ALTER USER nomeutente WITH PASSWORD 'nuovapassword';
73 1 Amministratore Truelite
}}}