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.
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
# 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
bash$ cd /usr/doc/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
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
Gli esempi sono necessari per il collaudo delle varie interfacce al PostgreSQL. Installate la directory degli esempi di postgresql da :
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
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
bash$ perl -I/usr/lib/perl5/site_perl/5.005/i386-linux-thread ./example.pl
Leggete il file example.pl per usare l'interfaccia per il 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/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$
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$
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
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..
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
Prelevare gli RPM presso http://www.mutinybaysoftware.com
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
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