PostgreSQL (intro)
     
Introducci�n a PostgreSQL

     Paulo Nu�ez V.
     Luis Vega M.
     Julio Lobo
 
Documento desarrollado para la asignatura de Administraci�n de Sistemas operativos, realizada en el V semestre de la carrera T�cnico Universitario en Programaci�n el 17 - Junio - 2004 en la Universidad Cat�lica del Maule.

Copyright (c) 2004.Se permite la copia fiel, distribuci�n y/o modificaci�n de este documento bajo los t�rminos de la GNU Free Document License (FDL) 1.2 o alguna versi�n superior, publicada por la Fundaci�n de Software Libre. Una copia de este puedes verla [ ac� ].

     Conexi�n a PostgreSQL mediante el Lenguaje Python:

Como dijimos al principio PostgreSQL provee la conexi�n con sus bases de datos a trav�s de diferentes lenguajes de programaci�n como por ejemplo PHP, PYTHON, JAVA, C etc. Ahora mostraremos un ejemplo de un c�digo que permite la conexi�n a una cierta tabla de la base de datos (Biblioteca) en PostgreSQL mediante PYTHON.

Para este ejemplo la versi�n de PostgreSQL que usaremos es la 7.4.2, en una m�quina con MandrakeLinux 10.0 y Python 2.3.

Los paquetes b�sicos necesarios para esta conexi�n son:

  • PostgreSQL-7.4.2: servidor de la base de datos PostgreSQL
  • PostgreSQL-client: cliente de la base de datos PostgreSQL
  • PostgreSQL-doc: documentaci�n sobre la base de datos PostgreSQL
  • python2.3-pgsql: m�dulo Python (pyPgSQL) para acceso a PostgreSQL.

Una vez que tenemos la base de datos (Biblioteca) creada con sus respectivas tablas (autor y libro), podremos hacer la conexi�n a esta. Algo muy importante tambi�n es dar permisos de acceso a la base de datos a otros usuarios, esto se hace en el archivo pg_hba.conf explicado anteriormente. Y por ultimo, debemos tener un usuario creado dentro del usuario postgres (Administrador de las base de datos), explicado anteriormente.

Vamos a pedir todos los datos de la tabla libro, de la base de datos Biblioteca.

El c�digo es el siguiente:

01.       import os, sys
02.
03.      
from pyPgSQL.PgSQL import connect     
0
4.
0
5.       usuario = 'usuario'
0
6.       base = '
biblioteca
07.
08.       conecta = connect("10.0.3.14:5432:biblioteca:usuario:clave
")
09.       r = conecta.cursor()
10.       consulta = 'select * from libro'
1
1.       r.execute(consulta)
1
2.       resultado = r.fetchall()
1
3.
1
4.       for i in resultado:
1
5.                   print i[1]
1
6.
17.       r.close()
18.       conecta.close()


Pasos realizados:

  • Importamos las librer�as b�sicas (l�nea 1).
     
  • En las l�nea 3, importamos desde el modulo PgSQL (PyPgSQL), lo que nos permitir� el acceso a PostgreSQL.
     
  • Declaramos la variable usuario y le indicamos a python el nombre de usuario que creamos en Postgres, en este caso es �usuario� (l�nea 5).
     
  • Declaramos la variable base, en la cual indicaremos el nombre de la base de datos a la que nos conectaremos, en este caso es �Biblioteca� (l�nea 6).
     
  • Establecemos la conexi�n a la base de datos indicando la direcci�n IP de la maquina en donde se encuentra la base de datos, luego indicamos el nombre de la base de datos seguido del usuario y por ultimo la clave del usuario (l�nea 8).
     
  • Le asignamos la variable conecta a la conexi�n de la base de datos, esta variable la usaremos para asignar un cursor a la conexi�n, este cursor nos permitir� ejecutar comandos SQL (l�nea 8).
     
  • Al cursor le asignamos la variable r, con la cual haremos todos los comandos sobre la tabla (l�nea 9).
     
  • Con la primitiva r.execute(consulta), ejecutaremos la variable consulta declarada en la l�nea 10, la cual seleccionar� todos los datos de la tabla libro (l�nea 10).
     
  • Para obtener filas de los resultados usamos la primitiva r.fetchall(), la cual es asignada a la variable resultado (l�nea 12).
     
  • Lego en la l�nea 14 hacemos un ciclo for para ir mostrando los registros que se han ido consultando en la tabla.
     
  • Por ultimo cerramos el cursor con r.close() y la conexi�n a la base de datos con  conecta.close(), (l�nea 17 y 18).

Con esto concluye el ejemplo de conexi�n a PostgreSQL desde python, como podemos darnos cuenta, usamos una cantidad muy reducida de c�digo, la cual nos indica que nos es tan dif�cil hacer una conexi�n, pero se debe tener bien en cuenta que la programaci�n no es lo �nico que se debe considerar ya que esto empieza desde la instalaci�n de PostgreSQL, pasando por la gesti�n de base de datos, configuraci�n de archivos necesarios hasta la programaci�n misma.

| Atr�s | Inicio | Siguiente |

 

1
Hosted by www.Geocities.ws