Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 915

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Database-SQL-RDBMS HOW-TO document for Linux (PostgreSQL Object Relational Database System): Istruzioni per un'installazione rapida di PostgreSQL </TITLE>
 <LINK HREF="PostgreSQL-HOWTO-7.html" REL=next>
 <LINK HREF="PostgreSQL-HOWTO-5.html" REL=previous>
 <LINK HREF="PostgreSQL-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="PostgreSQL-HOWTO-7.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-5.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc6">Indice</A>
<HR>
<H2><A NAME="Installazione-Rapida"></A> <A NAME="s6">6. Istruzioni per un'installazione rapida di PostgreSQL </A></H2>

<P>PostgreSQL si pronuncia Post-gres-chiu-el (Postgres-QL), e <B>non</B> Postgre-es-chiu-el.
<P>Questo capitolo vi aiuter&agrave; ad installare e a lanciare il database molto rapidamente: in meno di 5 minuti.
<P>
<H2><A NAME="ss6.1">6.1 Installazione e Collaudo</A>
</H2>

<P>Installazione, Collaudo, Verifica, e lancio di PostgreSQL, in pochi passi.
Effettuate il login come root.
<HR>
<PRE>
# 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
</PRE>
<HR>

Nota: Se esiste un utente "postgres", potreste dover fare 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.
<HR>
<PRE>
# 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&eacute; 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&ugrave; per utilizzare lo storico dei comandi;
oppure usate il comando \s

bash$ export DISPLAY=&lt;nomehost>:0.0
bash$ man pgaccess
bash$ pgaccess miodatabase
</PRE>
<HR>

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

Qui potete leggere tutte le FAQ, i tutorial, e le guide per l'Utente, il Programmatore, l'Amministratore.
<H2><A NAME="ss6.2">6.2 RPM di PostgreSQL</A>
</H2>

<P>Vedere anche <I>"Installation Steps"</I> presso 
<A HREF="http://www.ramifordistat.net/postgres">http://www.ramifordistat.net/postgres</A><P>Il curatore degli RPM di PostgreSQL &egrave; Lamar Owen, la cui e-mail &egrave;
<A HREF="mailto:lamar.owen@wgcr.org">lamar.owen@wgcr.org</A>.
Altri dettagli su PostgreSQL si trovano nel sito 
<A HREF="http://www.postgresql.org">http://www.postgresql.org</A><H2><A NAME="ss6.3">6.3 Maximum RPM</A>
</H2>

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

Esiste anche rpm2deb, che converte i pacchetti RPM in pacchetti per Debian.
<H2><A NAME="RPM degli Esempi"></A> <A NAME="ss6.4">6.4 RPM degli Esempi </A>
</H2>

<P>Gli esempi sono necessari per il collaudo delle varie interfacce al PostgreSQL.
Installate la directory degli esempi di postgresql da :
<UL>
<LI> Linux cdrom - postgresql-*examples.rpm</LI>
<LI> postgresql-*examples.rpm dal sito
<A HREF="http://www.aldev.8m.com">http://www.aldev.8m.com</A>
e dai siti mirror
<A HREF="http://aldev.webjump.com">webjump</A>,
<A HREF="http://www.angelfire.com/nv/aldev">angelfire</A>,
<A HREF="http://www.geocities.com/alavoor/index.html">geocities</A>,
<A HREF="http://aldev.virtualave.net">virtualave</A>,
<A HREF="http://aldev.bizland.com">bizland</A>,
<A HREF="http://members.theglobe.com/aldev/index.html">theglobe</A>,
<A HREF="http://members.spree.com/technology/aldev">spree</A>,
<A HREF="http://homepages.infoseek.com/~aldev1/index.html">infoseek</A>,
<A HREF="http://www3.bcity.com/aldev">bcity</A>,
<A HREF="http://aldev.50megs.com">50megs</A>
</LI>
<LI> Il codice sorgente di PostgreSQL &egrave; nei file postgresql*.src.rpm, e contiene le directory
degli esempi, delle prove, e dei tutorial.</LI>
</UL>
<H2><A NAME="Provare PyGreSQL"></A> <A NAME="ss6.5">6.5 Provare PyGreSQL - interfaccia a Python </A>
</H2>

<P>Installate il pacchetto degli esempi, come in
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
; poi digitate:
<HR>
<PRE>
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
</PRE>
<HR>
<H2><A NAME="Provare Perl"></A> <A NAME="ss6.6">6.6 Provare Perl - interfaccia al Perl </A>
</H2>

<P>Installate il pacchetto degli esempi, come in 
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
; poi digitate:
<HR>
<PRE>
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/perl5
bash$ perl ./example.pl
</PRE>
<HR>

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
<HR>
<PRE>
bash$ perl -I/usr/lib/perl5/site_perl/5.005/i386-linux-thread ./example.pl
</PRE>
<HR>

.... Ora potete far girare programmi perl con accesso al database PostgreSQL!!
<P>Leggete il file example.pl per usare l'interfaccia a Perl.
<H2><A NAME="Provare libpq"></A> <A NAME="ss6.7">6.7 Provare le interfacce a libpq, libpq++ </A>
</H2>

<P>Installate il pacchetto degli esempi, come in
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
; poi digitate:
<HR>
<PRE>
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$
</PRE>
<HR>

.... Ora potete far girare interfacce al database PostgreSQL, scritte in C/C++ !!
<H2><A NAME="Provare Java"></A> <A NAME="ss6.8">6.8 Provare Interfacce a Java </A>
</H2>

<P>Installate il pacchetto degli esempi, come in
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
;
installate anche quel che segue:
<UL>
<LI> Prelevate JDK jdk-*glibc*.rpm presso 
<A HREF="ftp://ftp.redhat.com/pub/contrib/i386">ftp://ftp.redhat.com/pub/contrib/i386</A>
o presso 
<A HREF="http://www.blackdown.org">http://www.blackdown.org</A></LI>
<LI> Prelevate postgresql-jdbc-*.rpm 
<A HREF="ftp://ftp.redhat.com/pub/contrib/i386">ftp://ftp.redhat.com/pub/contrib/i386</A></LI>
</UL>

<HR>
<PRE>
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 in edit il file psql.java, e commentate la linea del 'package'.
bash$ javac psql.java
bash$ java psql jdbc:postgresql:template1 postgres &lt; password &gt;[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$
</PRE>
<HR>

.... Ora fate girare interfacce Java al database PostgreSQL!
<H2><A NAME="Provare ecpg"></A> <A NAME="ss6.9">6.9 Provare l'interfaccia a ecpg </A>
</H2>

<P>Installate il pacchetto degli esempi, vedere
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
; poi digitate:
<HR>
<PRE>
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
</PRE>
<HR>

.... Adesso potete far girare Embedded "C"-SQL col database PostgreSQL!
<P>
<H2><A NAME="Provare SQL"></A> <A NAME="ss6.10">6.10 Provare esempi di SQL - Tipi definiti dall'utente e funzioni </A>
</H2>

<P>Installate il pacchetto degli esempi, vedere
<A HREF="#RPM degli Esempi">RPM degli Esempi</A>
; poi digitate:
<HR>
<PRE>
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/sql
Sezione in ampliamento..
</PRE>
<HR>
<H2><A NAME="ss6.11">6.11 Provare Interfacce Tcl/Tk</A>
</H2>

<P>Un esempio di interfaccia Tcl/Tk &egrave; il programma pgaccess.
Leggete il file /usr/bin/pgaccess utilizzando un editor:
<HR>
<PRE>
bash$ view /usr/bin/pgaccess
bash$ export DISPLAY=&lt;nome_della_vostra_macchina>:0.0
bash$ createdb miodb
bash$ pgaccess miodb
</PRE>
<HR>
<H2><A NAME="ss6.12">6.12 Provare interfacce ODBC</A>
</H2>

<P>
<OL>
<LI> Prelevate il driver odbc pgsql per win32 presso
<A HREF="http://www.insightdist.com/psqlodbc/">http://www.insightdist.com/psqlodbc/</A></LI>
<LI> Vedere anche /usr/lib/libpsqlodbc.a
</LI>
</OL>
<H2><A NAME="ss6.13">6.13 Provare l'interfaccia MPSQL Motif-worksheet</A>
</H2>

<P>Prelevare gli RPM presso 
<A HREF="http://www.mutinybaysoftware.com">http://www.mutinybaysoftware.com</A><H2><A NAME="ss6.14">6.14 Verifica</A>
</H2>

<P>Per verificare l'eccellente qualit&agrave; di PostgreSQL, lanciate il pacchetto del test di Regressione.
<P>Effettuate il login come root:
<HR>
<PRE>
# 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&agrave; il pacchetto)

Al test della 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 &egrave; 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
</PRE>
<HR>
<H2><A NAME="ss6.15">6.15 Correzione dei bug critici</A>
</H2>

<P>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&agrave; delle vostre applicazioni. Seguite i seguenti
passi per applicare le patch:
Spostatevi nella directory dei sorgenti di postgresql
<BLOCKQUOTE><CODE>
<PRE>
                # rpm -i postgresql*.src.rpm
                # cd /usr/src/postgresql6.5.3
                # man patch
                # patch -p0 &lt; file_di_patch
                # make clean
                # make
</PRE>
</CODE></BLOCKQUOTE>

I file di patch sono posizionati presso
<UL>
<LI>Le patch di PostgreSQL: 
<A HREF="ftp://ftp.postgresql.org/pub/patches">ftp://ftp.postgresql.org/pub/patches</A></LI>
</UL>
<HR>
<A HREF="PostgreSQL-HOWTO-7.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-5.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc6">Indice</A>
</BODY>
</HTML>