Siguiente Anterior Contenido


5. Primeros pasos con PostgreSQL.

Este capítulo le ayudará a instalar y poner en marcha la base de datos muy facilmente en menos de 10 minutos.

5.1 Instalación y Prueba.

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.

5.2 Paquetes RPM de PostgreSQL

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

5.3 Paquete RPM completo

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

5.4 Probando PyGreSQL - El interface Python


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

5.5 Probando Perl - El interface Perl


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

5.6 Probando las interface libpq, libpq++


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!

5.7 Probando los interfaces Java

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!

5.8 Probando la interface ecpg


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!

5.9 Probando los ejemplos de SQL - Tipos y funciones definidas por el User


bash$ cd /usr/doc/postgresql-6.5.3/examples/sql
En desarrollo...

5.10 Probando las interfaces Tcl/Tk

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

5.11 Probando la interface ODBC

  1. Adquiera el driver odbc para pgsql en http://www.insightdist.com/psqlodbc/

  2. Vea tambien /usr/lib/libpsqlodbc.a

5.12 Probando la interface de hoja de cálculo Motif MPSQL

Adquiera los paquetes rpm en http://www.mutinybaysoftware.com

5.13 Verificación

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


Siguiente Anterior Contenido