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