Next Previous Contents

6. Istruzioni per un'installazione rapida di PostgreSQL

PostgreSQL si pronuncia Post-gres-chiu-el (Postgres-QL), e non Postgre-es-chiu-el.

Questo capitolo vi aiuterà ad installare e a lanciare il database molto rapidamente: in meno di 5 minuti.

6.1 Installazione e collaudo

Installazione, collaudo, verifica e lancio di PostgreSQL, in pochi passi. Effettuate il login come root.


# cd /mnt/cdrom/RedHat/RPMS
# man rpm
# ls postgre*.rpm
# rpm -qpl postgre*.rpm | less (per vedere la lista dei file)
# rpm -qpi postgre*.rpm (per vedere le informazioni dei pacchetti)
# cat /etc/passwd | grep postgres

Nota: Se esiste un utente "postgres", potreste dover fare il backup dei suoi file, cancellare la home directory di postgres, ~postgres, e poi dovreste eliminare l'utente unix "postgres"; oppure potreste rinominarlo come "postgres2", o qualcosa di simile. L'installazione deve essere realizzata come se fosse la prima volta.
# rpm -i postgre*.rpm (per installare tutti i pacchetti dei client, di sviluppo, dei dati,
         e quelli principali per il funzionamento di pgaccess)
# man chkconfig
# chkconfig --add postgresql  (per avviare pg in fase di boot)
# /etc/rc.d/init.d/postgresql start  (per avviare postgres)
# man xhost
# xhost +  (affinché pgaccess abbia accesso al display)
# su - postgres
bash$ man createdb
bash$ createdb miodatabase
bash$ man psql
bash$ psql miodatabase
 ..... in psql, premete i tasti freccia su/giù per utilizzare lo storico dei comandi;
oppure usate il comando \s

bash$ export DISPLAY=<nomehost>:0.0
bash$ man pgaccess
bash$ pgaccess miodatabase

Adesso potete cominciare a SPARARE comandi SQL in psql o in pgaccess !!
bash$ cd /usr/doc/postgresql*

Qui potete leggere tutte le FAQ, i tutorial, e le guide per l'utente, il programmatore, l'amministratore.

6.2 RPM di PostgreSQL

Vedere anche "Installation Steps" presso http://www.ramifordistat.net/postgres

Il curatore degli RPM di PostgreSQL è Lamar Owen, la cui e-mail è lamar.owen@wgcr.org. Altri dettagli su PostgreSQL si trovano nel sito http://www.postgresql.org

6.3 Maximum RPM

Per effettuare buone installazioni di PostgreSQL, familiarizzate con il gestore dei pacchetti RPM. Scaricate il testo 'Maximum RPM' dal sito http://www.RPM.org, e cercate il file di nome maximum-rpm.ps.gz Leggetelo in Linux usando il comando gv :


# gv maximum-rpm.ps.gz

Esiste anche rpm2deb, che converte i pacchetti RPM in pacchetti per Debian.

6.4 RPM degli esempi

Gli esempi sono necessari per il collaudo delle varie interfacce al PostgreSQL. Installate la directory degli esempi di postgresql da :

6.5 Provare PyGreSQL - interfaccia a Python

Installate il pacchetto degli esempi, come in RPM degli esempi ; poi digitate:


bash$ cd /usr/lib/pgsql/python
bash$ createdb thilo
bash$ psql thilo
thilo=> create table prova (aa char(30), bb char(30) );
thilo=> \q
bash$ /usr/bin/python
>>> import _pg
>>> db = _pg.connect('thilo', 'localhost')
>>> db.query("INSERT INTO prova VALUES ('ping', 'pong')")
>>> db.query("SELECT * FROM prova")
eins|zwei
----+----
ping|pong
(1 row)
>>>CTRL+D
bash$
..... Sembra funzionare - adesso installatelo opportunamente
bash$ su - root
#cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload

6.6 Provare Perl - interfaccia al Perl

Installate il pacchetto degli esempi, come in RPM degli esempi ; poi digitate:


root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/perl5
bash$ perl ./example.pl

Nota: Se il comando precedente non funziona, fate quel che segue. La variabile globale @INC dovrebbe includere il modulo Pg.pm nella directory site_perl, e poi deve essere usata l'opzione -I
bash$ perl -I/usr/lib/perl5/site_perl/5.005/i386-linux-thread ./example.pl

.... Ora potete far girare programmi perl con accesso al database PostgreSQL!!

Leggete il file example.pl per usare l'interfaccia per il Perl.

6.7 Provare le interfacce a libpq, libpq++

Installate il pacchetto degli esempi, come in RPM degli esempi ; poi digitate:


root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/libpq
bash$ gcc testlibpq.c -I/usr/include/pgsql -lpq
bash$ export PATH=$PATH:.
bash$ a.out

bash$ cd /var/lib/pgsql/examples/libpq++
bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++
-lpq++ -lpq -lcrypt
bash$ ./a.out  (Nota: Ignorate gli eventuali Messaggi di Errore, come segue)
> create table foo (aa int, bb char(4));
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> insert into foo values ('4535', 'vasu');
No tuples returned...
status = 1
Error returned: fe_setauthsvc: invalid name: , ignoring...
> select * from foo;
aa   |bb   |
-----|-----|
4535 |vasu |
Query returned 1 row.
>
>CTRL+D
bash$

.... Ora potete far girare interfacce al database PostgreSQL, scritte in C/C++ !!

6.8 Provare le interfacce a Java

Installate il pacchetto degli esempi, come in RPM degli esempi ; installate anche quel che segue:


root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/jdbc
bash$ echo $CLASSPATH
 --> Dovrebbe visualizzare
CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar

con l'appropriato numero di versione di jdbc*.jar.
Le directory /usr/lib/pgsql e /usr/libjdk*/lib dovrebbero contenere i file *.jar.

bash$ export CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar

Aprite il file psql.java, e commentate la linea del 'package'.
bash$ javac psql.java
bash$ java psql jdbc:postgresql:template1 postgres < password >[1] select * from pg_tables;
tablename       tableowner      hasindexes      hasrules
pg_type postgres        true    false   false
pg_attribute    postgres        true    false   false
[2]
CTRL+C
bash$

.... Ora fate girare le interfacce Java al database PostgreSQL!

6.9 Provare l'interfaccia a ecpg

Installate il pacchetto degli esempi, vedere RPM degli esempi ; poi digitate:


root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/ecpg
bash$ ecpg test1.pgc -I/usr/include/pgsql
bash$ cc test1.c -I/usr/include/pgsql -lecpg -lpq -lcrypt
bash$ createdb mm
bash$ ./a.out

.... Adesso potete far girare Embedded "C"-SQL col database PostgreSQL!

6.10 Provare esempi di SQL - Tipi definiti dall'utente e funzioni

Installate il pacchetto degli esempi, vedere RPM degli esempi ; poi digitate:


root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/sql
Sezione in ampliamento..

6.11 Provare Interfacce Tcl/Tk

Un esempio di interfaccia Tcl/Tk è il programma pgaccess. Leggete il file /usr/bin/pgaccess utilizzando un editor:


bash$ view /usr/bin/pgaccess
bash$ export DISPLAY=<nome_della_vostra_macchina>:0.0
bash$ createdb miodb
bash$ pgaccess miodb

6.12 Provare interfacce ODBC

  1. Prelevate il driver odbc pgsql per win32 presso http://www.insightdist.com/psqlodbc/
  2. Vedere anche /usr/lib/libpsqlodbc.a

6.13 Provare l'interfaccia MPSQL Motif-worksheet

Prelevare gli RPM presso http://www.mutinybaysoftware.com

6.14 Verifica

Per verificare l'eccellente qualità di PostgreSQL, lanciate il pacchetto del test della regressione.

Effettuate il login come root:


# rpm -i postgresql*test.rpm
E leggete il file README, o installate l'albero del codice sorgente con la directory regress
# rpm -i postgresql*.src.rpm
# cd /usr/src/redhat/SPECS
# more postgresql*.spec   (per vedere quali pacchetti RPM di sistema debbano
essere installati)
# rpm -bp postgresql*.spec  (.. questo preparerà il pacchetto)

Al test di regressione servono i Makefile, e qualche file header come *fmgr*.h,
che possono essere creati con:
# rpm --short-circuit -bc postgresql*.spec ( .. usate l'opzione 'short circuit' come
scorciatoia!)
Quando leggete 'make -C common  SUBSYS.o', fermate la creazione del Makefile con CRTL+C.
Ora la configurazione è terminata con successo, e tutti i makefile e gli header
sono stati creati. Non dovete intervenire in altro modo.
# cd /usr/src/redhat/BUILD
# chown -R postgres postgresql*
# su - postgres
bash$ cd /usr/src/redhat/BUILD/postgresql-6.5.3/src/test/regress
bash$ more README
bash$ make clean; make all runtest
bash$ more regress.out

6.15 Correzione dei bug critici

Patch di emergenza, per la correzione dei bug critici, possono essere rilasciate dopo la release GA di PostgreSQL. Potete applicare queste patch opzionali a seconda delle necessità delle vostre applicazioni. Seguite i seguenti passi per applicare le patch: spostatevi nella directory dei sorgenti di postgresql

                # rpm -i postgresql*.src.rpm
                # cd /usr/src/postgresql6.5.3
                # man patch
                # patch -p0 < file_di_patch
                # make clean
                # make
I file di patch sono posizionati presso
Next Previous Contents