PostgreSQL

Recomendar esta página Ver en PDF Imprimir esta página
Wiki de astronomía.
Todo el poder de la Wikipedia y toda la esencia de la astronomía

PostgreSQL

De Wikipedia, la enciclopedia libre

PostgreSQL  


PostgreSQL
Desarrollador: PostgreSQL Global Development Group
Última versión: 8.2.5 (19 de septiembre de 2007)
S.O.: Multiplataforma
Género: RDBMS
Licencia: BSD
En español: “No”
Sitio Web: www.postgresql.org

PostgreSQL es un servidor de base de datos objeto relacional libre, liberado bajo la licencia BSD. Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo, dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Tabla de contenidos

[editar] Historia

PostgreSQL ha tenido una larga evolución, comenzando con el proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo, Michael decidio volver a la Universidad para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES.

En proyecto post-ingres pretendía resolver los problemas con el modelo de base de datos relacional que habían sido aclarados a comienzos de los años 1980. El principal de estos problemas era la incapacidad del modelo relacional de comprender “tipos”, es decir, combinaciones de datos simples que conforman una única unidad. Actualmente estos son llamados objetos. Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos. Estas funcionalidades incluían la habilidad de definir tipos, pero también la habilidad de describir relaciones – las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario. En POSTGRES la base de datos “comprendía” las relaciones y podía obtener información de tablas relacionadas utilizando reglas.

El siguiente cuadro representa los hitos más importantes en la vida del proyecto POSTGRES.

1986 - se publicaron varios papers que describían las bases del sistema.
1988 - ya se contaba con una versión utilizable.
1989 - el grupo liberaba la versión 1 para una pequeña comunidad de usuarios.
1990 - se liberaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas.
1991 - liberación de la versión 3, esta añadia la capacidad de multiples motores de almacenamiento
1993 - crecimiento importante de la comunidad de usuarios, la cual demandaba más características
1994 - antes de la liberación de la versión 4, el proyecto termina y el grupo se disuelve.

Después de que el proyecto POSTGRES terminara, dos graduados de la universidad,Andrew Yu and Jolly Chen, comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con su propio lenguaje de consultas, creando así el sistema al cual denominaron Postgres95.

Para el año 1996 se unen al proyecto personas ajenas a la Universisdad como Marc Fournier, Bruce Momjian y Vadim B. Mikheev quienes comienzan a trabajar para estabilizar el código de Postgres95.

En el año 1996 deciden cambiar el nombre de Postgres95 de tal modo que refleje la caracteristica del lenguaje SQL y lo terminan llamando PostgreSQL.

Con el pasar del tiempo muchos desarrolladores entusiastas de los motores de base de datos se unieron al proyecto y entre todos comenzaron a incorporar muchas características al motor.

[editar] Características

Algunas de sus principales características son:

[editar] Alta concurrencia

Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

[editar] Amplia variedad de tipos nativos

PostgreSQL provee nativamente soporte para:

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.

[editar] Otras características

  • Claves ajenas también denominadas Llaves ajenas o Llaves Foráneas (foreign keys).
  • Disparadores (triggers).

Un disparador o triggers se define en una accion especifica basada en algo ocurrente dentro de la base de datos. En PostgreSQL esto significa la ejecucion de un procedimiento almacenado basado en una determinada accion sobre una tabla específica. Ahora todos los disparadores se definen por seis características: -El nombre del trigger o disparador -El momento en que el disparador debe arrancar -El evento del disparador debera activarse sobre… -La tabla donde el disparador se activara -La frecuencia de la ejecucion -La funcion que podria ser llamada Entonces combinando estas seis características, PostgreSQL le permitirá crar una amplia funcionalidad a través de su sistema de activación de disparadores (triggers).

  • vistas.
  • Integridad transaccional.
  • Herencia de tablas.
  • Tipos de datos y operaciones geométricas.

[editar] Funciones

Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la programación orientación a objetos o la programación funcional.

Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos.

Algunos de los lenguajes que se pueden usar son los siguientes:

PostgreSQL soporta funciones que retornan “filas”, donde la salida puede tratarse como un conjunto de valores que pueden ser tratados igual a una fila retornada por un consulta (query en inglés).

Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como “procedimientos almacenados” (stored procedures en inglés).

[editar] Productos alrededor de PostgreSQL

El PGDG solo desarrolla el Motor de Datos y un número pequeño de utilidades, para potenciar el trabajo con PostgreSQL suele ser necesario añadir utilidades externas creadas especialemente para este motor, algunas de estas herramientas son:

GIS

PostGIS : Provee amplio soporte para aplicaciones GIS.

Replicacion

PgCluster : Replicación Multi Maestro.

Slony-I : Replicación Maestro Esclavo.

Herramientas de Administración

PgAdmin3 : Entorno de Escritorio Visual

PgAccess : Entorno de Escritorio Visual

PhpPgAdmin : Entorno Web

psql : cliente de consola

Busqueda de Texto

Full text search via Tsearch2 y OpenFTS.

XML

XML/XSLT soporte via XPath extensiones en la sección contrib.

[editar] Usuarios Destacados

[editar] Referencias

  1. ? PostgreSQL affiliates .ORG domain
  2. ? Sony Online opts for open-source database over Oracle

[editar] Véase también

[editar] Enlaces externos

Scroll to Top