|
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
04.
05. usuario = 'usuario'
06. base = 'biblioteca
07.
08. conecta = connect("10.0.3.14:5432:biblioteca:usuario:clave")
09. r = conecta.cursor()
10. consulta = 'select * from libro'
11. r.execute(consulta)
12. resultado = r.fetchall()
13.
14. for i in resultado:
15. print i[1]
16.
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 | |