Este capítulo le ayudará a instalar y poner en marcha la base de datos muy facilmente en menos de 10 minutos.
Pasos fáciles para instalar, probar, verificar y poner en marcha un Login de PostgreSQL como root.
# rpm -qpl postgre*.rpm (para ver la lista de los ficheros. Para documentación 'man rpm') # rpm -qpi postgre*.rpm (para ver información de los paquetes) # cat /etc/passwd | grep postgres
Nota: Si usted ve un usuario 'postgres', quizá necesite hacer un backup y borrar el directorio home de postgres, y borrar el usuario unix 'postgres', o cambiarle el nombre al usuario unix 'postgres' a algo similiar a 'postgres2'. La instalación se debe hacer sobre un estado "limpio".
# rpm -i postgre*.rpm (Debe instalar todos los paquetes de clientes, desarrollo,
datos y común para que pgaccess pueda trabajar).
# chkconfig --add postgresql (Para arrancar pg durante el arranque, ver 'man chkconfig')
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload (para python)
# /etc/rc.d/init.d/postgresql start (para levantar postgres)
# su - postgres
bash$ createdb mi_base_de_datos (Esto creará una base de datos llamada mi_base_de_datos)
(para documentación 'man createdb')
bash$ psql mi_base_de_datos (para documentación 'man psql')
..... en psql presione las flechar arriba/abajo para editar las lineas de historial, or \s
bash$ export DISPLAY=<hostname>:0.0; pgaccess mi_base_de_datos; (ver 'man pgaccess')
¡¡Ahora puede empezar a lanzar comandos SQL en pgaccess o psql !!
bash$ cd /usr/doc/postgresql*
Y ahora lea todos los FAQ,s, guías y tutoriales de usuario, programador y administrador.
Vea también la guía "Installation Steps" que encontrará en http://www.ramifordistat.net/postgres
Mantiene los paquetes rpm de PostgreSQL Lamar Owen, a quien encontrarán en lamar.owen@wgcr.org Encontrarán más detalles sobre PostgreSQL en http://www.postgresql.org
Descargue el libro de texto 'Maximum RPM' desde http://www.RPM.org el nombre del fichero es
maximum-rpm.ps.gz, y lealo utilizando el comando de linux gv
# gv maximum-rpm.ps.gz
bash$ cd /usr/lib/pgsql/python
bash$ createdb thilo
bash$ psql thilo
thilo=> create table test (aa char(30), bb char(30) );
bash$ /usr/bin/python
>>> import _pg
>>> db = _pg.connect('thilo', 'localhost')
>>> db.query("INSERT INTO test VALUES ('ping', 'pong')")
>>> db.query("SELECT * FROM test")
eins|zwei
----+----
ping|pong
(1 row)
>>>CTRL+D
bash$
..... Yow! Seems to work - now install it properly
bash$ su - root
# cp /usr/lib/pgsql/python/_pg.so /usr/lib/python1.5/lib-dynload
bash$ cd /usr/doc/postgresql-6.5.3/examples/perl5
Nota: la variable global @INC debería incluir el módulo Pg.pm en el directorio sitio_perl, y para ello use la opción \I como sigue abajo.
bash$ perl -I/usr/lib/perl5/site_perl/5.004/i386-linux-thread ./example.newstyle
.... ¡Wow! ¡Ha lanzado usted el perl, que está accediendo a la base PostgreSQL!
Lea los ficheros de ejemplos para usar el interface perl.
Read the example files for using perl interface
bash$ cd /usr/doc/postgresql-6.5.3/examples/libpq++
bash$ su root --> para cambiar al propietario de los ejemplos
# chown -R postgres /usr/doc/postgresql-6.5.3/examples
# exit
bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++
-lpq++ -lpq -lcrypt
bash$ ./a.out (Nota: Ignore los mensajes de error si le aparece alguno, como más abajo)
> 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$
.... ¡Hurra! ¡Ha hecho usted corred los interfaces C/C++ directamente contra la base PostgreSQL!
Para hacerlo, usted debe instalar el paquete jdk-*glibc*.rpm (los paquetes rpm java)
bash$ cd /usr/doc/postgresql-6.5.3/examples/jdbc bash$ echo $CLASSPATH --> Should show CLASSPATH=/usr/lib/jdk-1.1.6/lib/classes.zip bash$ export CLASSPATH=$CLASSPATH:.:/usr/lib/pgsql/postgresql.jar Edite el fichero psql.java y comente las lineas '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$
.... ¡Hurra! ¡Ha corrido usted directamente la interface Java contra la base PostgreSQL!
bash$ cd /usr/doc/postgresql-6.5.3/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
.... ¡Bueno! ¡Ha hecho usted corres SQL embebido en "C" contra la base PostgreSQL!
bash$ cd /usr/doc/postgresql-6.5.3/examples/sql En desarrollo...
Un ejemplo de interface Tcl/Tk es el programa pgaccess. Lea el fichero /usr/bin/pgaccess usando un editor
bash$ view /usr/bin/pgaccess bash$ export DISPLAY=<nombre de su máquina>:0.0 bash$ createdb mydb bash$ pgaccess mydb
Adquiera el driver odbc para pgsql en http://www.insightdist.com/psqlodbc/
Vea tambien /usr/lib/libpsqlodbc.a
Adquiera los paquetes rpm en http://www.mutinybaysoftware.com
Para verificar la calidad completa de PostgreSQL, corra el paquete de test de Regresión, haciendo Login como root
# rpm -i postgresql*.src.rpm # cd /usr/src/redhat/SPECS # more postgresql*.spec (para ver los paquetes del sistema rpm que necesita instalar) # rpm -bp postgresql*.spec (.. esto preparará el paquete) El test de regresión necesita los Makefiles y algunos ficheros de cabeceras como *fmgr*.h que pueden ser construidos con: # rpm --short-circuit -bc postgresql*.spec ( .. Utilice short-circuit para abreviar) Aborte la contrucción con CTRL+C, cuando vea 'make -C common SUBSYS.o' con esto, la configuración estará conseguida, y se habrán creado todos los makefiles y ficheros de cabecera. Ya no necesita seguir adelante. # 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