Installazione PostgreSQL 8.2 su Debian GNU/Linux

in

Perche' ricompilare PostgreSQL ?
Mi sono posto molte volte anch'io la stessa domanda, l'unica risposta sensata che mi viene in mente e' una sola
"sono un maniaco". Adoro vedere PostgreSQL sulla mia Debian GNU/Linux schizzare quando faccio una query,
mi piace ottimizzare il mio sistema al massimo, mi piace cronometrare i tempi di risposta e di esecuzione delle query, questo e', forse, l'unico motivo che mi spinge a ricopilare PostgreSQL dai sorgenti.

PostgreSQL puo' essere ricompilato su quasi tutti i sistemi Unix* compatibili, per la lista completa
sui sistemi in cui e' possibile installere PostgreSQL visita il sito ufficile
http://www.postgresql.org/docs/8.2/interactive/supported-platforms.html),
nel caso specifico installeremo PostgreSQL, per chi non l'avesse capito :-), su GNU/Linux in particolore Debian.

Requisiti:
- Conoscenza dell'utilizzo dei comandi shell su GNU/Linux,
essere in grado di creare utenti, directory, assegnare permessi.

- GNU make
per verificare l'esistenza e la versione di GNU make installata
$ gmake --version
su molti sistemi GNU/Linux non trovate il comando gmake, ma direttante make, su Debian
direttamente make

osvaldot@rocco:~$ make --version
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

e' raccomandata la versione 3.76.1 o superiore, su Debian Sarge di default 3.80

- ISO/ANSI C compiler, un compilatore C, sui sistemi GNU/Linux trovate il gcc,
per verificare esistenza e versione

$ gcc --version
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

- TAR per scompattare i sorgenti e GZIP o BZIP2 per la decompressione dei file,
a seconda dei sorgenti che decidete di scaricare

- GNU Readline library, per facilitare la scrittura dei comandi dalla shell di PostgreSQL,
il comodissimo tab per il completamento automatico dei comandi sql e psql, e per
l'history dei comandi. GNU Readline e' utilizzata di default, per non utilizzarla durante il configure
utilizzare l'opzione --without-readline.
Su Debian GNU/Linux installare i pacchetti libreadline e libreadline-dev

$ apt-get install libreadline
$ apt-get install libreadline-dev

- ZLIB compression library, e' possibile disabilitare questa featurs (--without-zlib durante il configure),
ma e' sconsigliato, viene disabilitato il supporto per archivi compressi con pg_dump e pg_restore

Sufficente spazio su disco, i sorgenti decompressi e scompattati richiedono circa 65MB si spazio disco,
l'installazione richiede circa 15MB. Un database vuoto occupa circa 25MB.

Scaricare i sorgenti di PostgreSQL da sito ufficiale www.postgresql.org/download
o dai numerosi mirrors, al momento l'ultima versione disponibile del ramo 8.2 e' la 8.2.1

$ wget -c ftp://ftp.postgresql.org/pub/source/v8.2.1/postgresql-8.2.1.tar.gz

Decomprimere e scompattare i sorgenti appena scaricati (circa 14MB)

$ tar xvfz postgresql-8.2.1.tar.gz

verra' creata la directory postgresql-8.2.1, spostarsi nella directory

$ cd postgresql-8.2.1

INSTALLAZIONE

- configurazione:
Il primo passo per l'installazione e' quello di ottimizzare i sorgenti per il nostro sistema e di
scegliere le opzioni che vogliamo inglobare nella nostra installazione, non preoccupatevi, ci pensa
lo script configure a fare tutto il lavoro per voi....pigroni !!

$ ./configure

Il configure esegue una serie di test sul vostro sistema, testa le librerie installate, controlla
le varie opzioni abilitate e segnala eventuali dipendenze o errori riscontrati.
Se tutto e' ok genera i file utilizzati per la ricompilazione con le opzioni scelte.

Nella fase di configure e' possibile utilizzare svariate opzioni da inglobare nella nostra installazione,
dal supporto per le connessione cryptate con OpenSSL, il supporto per l'autenticazione Kerberos 5 al supporto
per il linguaggio di scipting perl PL/Perl.
Per avere la lista completa

$./configure --help

Nella nostra installazione utilizzeremo i parametri di default

$./configure

- Ricompilazione
Finita l'esecuzione del configure, se non ci sono errori, passiamo alla
ricompilazione vera e propria dei sorgenti

$ make

l'operazione potrebbe richiedere da 5/30 minuti, dipende dall'hardware in dotazione.
Alla fine della ricompilazione vi troverete la frase

All of PostgreSQL is successfully made. Ready to install
WOW !! il grosso e' fatto

- Installazione
Possiamo finalmente installare i file appena ricompilati, nel caso avete utilizzato un'utente
diverso da root

$ su - root
$ make install

Avendo utilizzato l'installazione standard, tutti i file saranno nella directory /usr/local/psql,
per specificare un percorso diverso, al configure utizzare --prefix=/dove/vogliamo/noi

- Fine
Aggiungiamo l'utente postgres al nostro sistema, l'utente e' il super user per PostgreSQL,
l'equivalente di root per il nostro GNU/Linux

$ adduser postgres

Creiamo la directory data, la directory dove PostgreSQl memorizzera le nostre tabelle
$ mkdir /usr/local/pgsql/data

Assegniamo i giusti permessi
$ chown postgres /usr/local/pgsql/data

Come utente postres (super user per PostgreSQL) inizializziamo la nostra directory "data" appena creata
$ su - postgres
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

- Attiviamo il servizio, si parte !!
PostgreSQL e' finalmente installato e pronto per l'utilizzo, attiviamo il servizio.
Nella directory dei sorgenti postgresql-8.1.3/contrib/start-scripts e' presente
lo script "linux" per utenti GNU/Linux, copiamo lo script in /etc/init.d (per utenti Debian) o
nella posizione vogliamo

$ cp postgresql-8.2.1/contrib/start-scripts/linux /etc/init.d/pgsql.server (per utenti Debian)
$ chmod +x /etc/init.d/pgsql.server
$ /etc/init.d/pgsql.server start

Per avviare PostgreSQL al riavvio del sistema, su Debian GNU/Linux utilizzare il
comando update-rc.d, su altri GNU/Linux consultare la documentazione della propria
distribuzione e creare i link nei vari runlevel
$ update-rc.d pgsql.server defaults

- Testing
Creiamo il primo database di prova, ed entriamo nella shell di comandi di PostgreSQL
$ su - postgres
$ /usr/local/pgsql/bin/createdb test
$ /usr/local/pgsql/bin/psql test
Welcome to psql 8.2.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
test=#

- Bibliografia
PostgreSQL 8.2 Documentation

 

Osvaldo

 

Comments

Alcune varietà di che coltivate producono grandi raccolti
e ottima weed. Se siete di, all'aperto that is coltivare è la scelta per voi.

Wonderful items from you, man. I've remember your stuff previous to and you're simply extremely great.
I actually like what you've received here, certainly like what you're saying and the
way in which in which you say it. You are making it
enjoyable and you continue to take care of to keep it smart.
I can not wait to read much more from you. That is really a wonderful website.

Pages

Add new comment