Progetto

Generale

Profilo

PostgresInitConf » Cronologia » Versione 6

Amministratore Truelite, 18-03-2008 15:03

1 1 Amministratore Truelite
[[TracNav(TOC)]]
2 4 Amministratore Truelite
= Configurazione di base di PostgresSQL =
3 1 Amministratore Truelite
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 6 Amministratore Truelite
successiva 5433, ecc.  
15
16
Ovviamente se si rimuove la prima versione installata la seconda resterà in
17
ascolto sulla porta non standard, (se ne tenga conto qualora ci siano altri
18
programmi che usano il database installati dai pacchetti Debian, dato che
19
questi si collegano di default sulla porta 5432).
20 2 Amministratore Truelite
 
21 1 Amministratore Truelite
L'installazione di default del pacchetto di Debian consente l'accesso soltanto
22
da {{{localhost}}} e soltanto tramite l'utente locale {{{postgres}}}. Qualora
23
serva poter accedere al database via rete occorre modificare la configurazione
24 2 Amministratore Truelite
del server. Questa si trova, a seconda dell versione installata, nella
25
directory {{{/etc/postgres/7.4/main/}}} o {{{/etc/postgres/8.1/main/}}}. 
26 1 Amministratore Truelite
27 2 Amministratore Truelite
Per abilitare l'accesso via rete occorre anzitutto porre in ascolto il server
28
su un indirizzo IP raggiungibile, rispetto al default che è porsi in ascolto
29
solo sul {{{localhost}}}, per farlo occorre modificare il file
30
{{{postgressql.conf}}} inserendo una riga del tipo:
31
32 1 Amministratore Truelite
{{{
33
listen_addresses='*'
34 2 Amministratore Truelite
}}}
35
36
che abilita l'ascolto su tutti gli indirizzi locali, alternativamente si può
37
indicare un indirizzo specifico, nello stesso file si può anche indicare una
38
porta diversa da quella di default con la direttiva {{{port}}}.
39
40
Il passo successivo è modificare le regole di accesso su {{{pg_hba.conf}}}, il
41
default infatti è accettare le connessioni solo per un utente locale del
42
sistema o per accessi da {{{localhost}}}, per abilitarle da una sottorete
43
generica si dovrà introdurre una riga del tipo:
44
45
{{{
46
host    all         all         192.168.1.0/24               md5
47
}}}
48
49
che consente l'accesso agli utenti presenti sul database, identificati tramite
50
un hash MD5 (il default usato dalla gestione utenti del database). Effettuati
51
i cambiamenti si dovrà riavviare il servizio per renderli effettivi.
52
53
Per i compiti amministrativi l'installazione di default utilizza l'utente
54
locale {{{postgres}}} che consente l'accesso diretto al database con pieni
55
diritti amministrativi, per questo il primo passo da fare è sempre quello di
56
collegarsi con tale utente (in genere lo si fa con un {{{su postgres}}} dato
57
da {{{root}}}).
58
59
La linea di comando per l'accesso al database è fornita dal comando {{{psql}}}
60
che prende come primo argomento (opzionale) il nome di un database e come
61
secondo argomento (sempre opzionale) il nome di un utente, se ci si vuole
62
collegare via rete occorre usare l'opzione {{{-h}}} per indicare l'hostname (o
63
l'indirizzo IP). I comandi di base sono i seguenti:
64
65
||{{{\l}}}|| mostra l'elenco dei database||
66
||{{{\c nome}}}|| si collega al database {{{nome}}}||
67
||{{{\d}}}|| mostra l'elenco delle tabelle del database (prima ci si deve collegare allo stesso)||
68
||{{{\du}}}|| mostra l'elenco degli utenti (si deve essere collegati)||
69
70 1 Amministratore Truelite
Per verificare la lista degli utenti definiti ci si dovrà collegare al
71
database di sistema {{{postgres}}}, per questo si potrà usare direttamente il
72
comando {{{psql postgres}}}, a questo punto con il comando {{{\du}}} si avrà
73
la lista degli utenti.
74 6 Amministratore Truelite
75
Per creare un nuovo utente si può utilizzare il comando {{{createuser}}} che
76
di default crea un utente senza privilegi (a meno di non usare l'opzione
77
{{{-d}}} per consentire la creazione di altri database o l'opzione {{{-a}}}
78
per consentire la creazione di altri utenti). Il comando deve essere dato da
79
un utente con privilegi amministrativi (nel caso l'utente {{{postgres}}}), si
80
potrà allora aggiungere l'utente {{{myuser}}} con:
81
{{{
82
su postgres
83
createusere myuser
84
}}}
85
e se si usa l'opzione {{{-P}}} verrà anche chiesta una password, necessaria
86
nel caso ci si voglia collegare da remoto con la configurazione mostrata in
87
precedenza. 
88 5 Amministratore Truelite
89 1 Amministratore Truelite
Se si vuole cambiare password ad un utente è sufficiente collegarsi con un
90 5 Amministratore Truelite
utente dotato di privilegi amministrativi al database {{{postgres}}} ed
91
eseguire il seguente comando:
92 2 Amministratore Truelite
93
{{{
94
ALTER USER nomeutente WITH PASSWORD 'nuovapassword';
95 1 Amministratore Truelite
}}}