Inicio

Novedades de pgsql en la 7.0

Entrevista con Bruce Momjian

Ligas interesantes

Proyecto eros

Manejo de Estilos de Fechas en PostgreSQL

PostgreSQL vs. MongoDB

Introduccion a PostgreSQL

Las base de datos relacionales

Pocas herramientas de software son tan necesarias como las bases de datos. No hay empresa o instituci�n que pueda prescindir de ellas; son el alma de los programas contables, de la n�mina y de los inventarios en las empresas tradicionales, pero de igual manera alojan la infomaci�n que consumimos en todo el mundo gracias a la internet.

Esa importancia de las bases de datos ha generado una millonaria y gigantesca industria mundial, representada por empresas de software como Oracle, Informix, Sybase y otras, las cuales facturan anualmente varios millones de d�lares por el licenciamiento de sus manejadores de bases de datos relacionales.

Afortunadamante, la actual revoluci�n que ha significado el software de c�digo abierto (open source), nos ha permitido contar con PostgreSQL, el servidor de bases de datos m�s avanzado en esta categor�a.

Un poco de historia

El m�s antiguo antecesor de PostgreSQL es Ingres, desarrollado en la Universidad de California en Berkeley de 1977 a 1985. Con el fin de mejorar Ingres, Michael Stonebraker gener� en 1986 un nuevo servidor de bases de datos y lo llam� Postgres, es decir posterior a Ingres. Ya para 1994, Jolly Chen y Andrew Yu le agregaron la funcionalidad del lenguaje de consulta estructurado (SQL, por sus siglas en ingl�s), una norma mundial establecida varios lustros antes y lo llamaron Postgres95 (1994-1995).

Durante 1996 se dieron dos cambios importantes: se cambi� el nombre a PostgreSQL y se form� un grupo especial de desarrollo, comandado por Marc. G. Fournier en Toronto, Canad�.

Desarrollo de PostgreSQL

Al igual que muchos proyectos de c�digo abierto, PostgreSQL es desarrollado por un gran n�mero de programadores que utilizan la intenet como el medio para discutir, acordar y enviar las mejoras que lo han convertido en el l�der en su �rea.

A diferencia del software comercial, cada 3 � 5 meses de libera una nueva versi�n, con nuevas caracter�sticas, con menos errores (bugs) o m�s acorde a las normas de SQL92. El c�digo fuente, fundamentalmente en lenguaje C, cuenta con mas de 250,000 l�neas; y no cuesta un solo centavo.

PostgreSQL se encuentra disponible para los sistemas operativos tipo Unix y para Windows. Se puede obtener en formato de archivo comprimido (*.tar.gz) en http://www.postgresqldocsql.org o como un archivo RPM (RedHat Package Manager) que f�cilmente se puede instalar y configurar, en http://www.redhat.com.

Una distribuci�n cl�sica de PostgreSQL ofrece mucho m�s que el motor o servidor de la base de datos; siempre lo acompa�an algunas herramientas que facilitan su configuraci�n y administraci�n: un cliente interactivo en modo de texto, otro en modo gr�fico, utiler�as para extraer la base de datos hacia un archivo de comandos SQL, una interfase para programadores (API) para hacer aplicaciones en lenguaje C, documentaci�n para usuarios, programadores, administradores, etc.

El servidor de la base de datos se puede accesar por medio de varios lenguajes: C, Perl, Visual Basic, Delphi, Phyton, etc.; lo cual le da una gran versatilidad para usarse como motor de base de datos de pr�cticamente cualquier aplicaci�n que requiera un manejador robusto, eficiente y que cumpla con las normas internacionales.

Bruce Momjiam, miembro del grupo de desarrollo de PostgreSQL, est� escribiendo un libro que publicar� Addison-Wesley (PostgreSQL: Introduction and Concepts), el cual se puede obtener de manera gratuita en formato PDF, en http://www.postgresqldocsql.org/docs/awbook.html. A fines de marzo de 2000, Bruce ha hecho p�blicos los primeros diez cap�tulos del libro, que constituyen un buen material para adentrarse es esta base de datos.

PostgreSQL 7.0

Esta nueva contiene menos errores de programaci�n (bugs) que la anterior, se ci�e m�s a la norma SQL92 y presenta avances en la funcionalidad y el desempe�o.

Los cambios entre la versi�n anterior (6.5.3) y la nueva (7.0) se cuentan por decenas, algunos peque�oos, otros muy t�cnicos y otros que los usuarios esper�bamos desde varias versiones atr�s. Listar� algunos, entre ellos los tres m�s importantes:

* Llaves for�neas (Foreign Keys): Finalmente se han implementado las llaves for�neas, tan �tiles para asegurar la integridad relacional de las bases de datos. Esta mejora satisface a una gran cantidad de usuarios que la ped�amos casi a gritos.

* Revisi�n profunda del optimizador. Una tarea que llev� m�s de un a�o, la revisi�n a profundidad del optimizador ha permitido mejorar la ejecuci�n de las consultas (queries) y un mejor desempe�o con menos uso de memoria.

  • Actualizaci�n de psql: El monitor en modo terminal, psql, ha sidoactualizado con una variedad de nuevas funciones que se detallanen el manual en l�nea (man) de psql.
  • Arreglo de un error (bug) al rastrear GROUP BY.
  • Mejoras en el procesamiento de la gram�tica de SQL.
  • Ya se permite el bloqueo de tablas, cuando se encuentran abiertas,mejorando la confiabilidad de la concurrencia.
  • Se permite el uso de la cla�sula HAVING sin necesidad de tener una funci�n de agregaci�n.

As� como estos, hay docenas de cambios que mejoran, hacen m�s confiable y eficiente esta nueva versi�n. El archivo HISTORY, que acompa�a al c�digo fuente, contiene la lista completa de esas mejoras.

Es importante saber que existe una lista de discusi�n de PostgreSQL en M�xico, a la cual se puede entrar enviando un mensaje a [email protected] con el texto subscribe pgsql-ayuda.

De igual importancia, les notificacmos de un fabuloso proyecto de traducci�n al espa�ol de la documentaci�n de Postgresql en http://users.servicios.retecal.es/rsantos/index.htm en el que se puede colaborar.

Ing. Roberto Andrade Fonseca
[email protected]