Anda di halaman 1dari 6

PostgreSQL es un SGBD relacional orientado a objetos y libre, publicado bajo lalicencia BSD.

Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados pororganizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
ndice
[ocultar]

1 Nombre del producto 2 Historia 3 Caractersticas

o o o o o

3.1 Alta concurrencia 3.2 Amplia variedad de tipos nativos 3.3 Otras caractersticas 3.4 Funciones 3.5 Ventajas

4 Productos alrededor de PostgreSQL

o o o o o o

4.1 Alternativas Comerciales 4.2 GIS 4.3 Replicacin 4.4 Herramientas de administracin 4.5 Bsqueda de texto 4.6 XML

5 Usuarios destacados 6 Premios 7 Referencias 8 Enlaces externos

Nombre del producto[editar editar cdigo]


El uso de caracteres en mayscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones de "SQL" pueden llevar a confusin. Los desarrolladores de PostgreSQL lo pronuncian /post s kju l/;. Es tambin comn or abreviadamente como simplemente "Postgres", el que fue su nombre original. Debido a su soporte del estndar SQL entre la mayor parte de bases de datos relacionales, la comunidad consider cambiar el nombre al anterior Postgres. Sin embargo, el PostgreSQL Core Team anunci en 2007 que el producto seguira llamndose PostgreSQL. El nombre hace referencia a los orgenes del proyecto como la base de datos "postIngres", y los autores originales tambin desarrollaron la base de datos Ingres.

Historia[editar editar cdigo]


PostgreSQL ha tenido una larga evolucin, la cual se inicia en 1982 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. Despus de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con l mismo, Michael decidi volver a la Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES.

El proyecto post-ingres pretenda resolver los problemas con el modelo de base de datos relacional que haban sido aclarados a comienzos de los aos 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 incluan la habilidad de definir tipos, pero tambin 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 comprenda las relaciones y poda obtener informacin detablas relacionadas utilizando reglas. Postgres us muchas ideas de Ingres pero no su cdigo. La siguiente lista muestra los hitos ms importantes en la vida del proyecto Postgres.

1986: se publicaron varios papers que describan las bases del sistema. 1988: ya se contaba con una versin utilizable. 1989: el grupo publicaba la versin 1 para una pequea comunidad de usuarios. 1990: se publicaba la versin 2 la cual tena prcticamente reescrito el sistema de reglas. 1991: publicacin de la versin 3, esta aada la capacidad de mltiples motores de almacenamiento. 1993: crecimiento importante de la comunidad de usuarios, la cual demandaba ms caractersticas. 1994: despus de la publicacin de la versin 4, el proyecto termin y el grupo se disolvi.

Despus de que el proyecto POSTGRES terminara, dos graduados de la universidad, Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el cdigo de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la BSD, y lo primero que hicieron fue aadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con un intrprete del lenguaje de consultas QUEL (basado en Ingres), creando as el sistema al cual denominaron Postgres95. Para el ao 1996 se unieron al proyecto personas ajenas a la Universidad como Marc Fournier de Hub.Org Networking Services, Bruce Momjian y Vadim B. Mikheev quienes proporcionaron el primer servidor de desarrollo no universitario para el esfuerzo de desarrollo de cdigo abierto y comenzaron a trabajar para estabilizar el cdigo de Postgres95. En el ao 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la caracterstica del lenguaje SQL y lo terminaron llamando PostgreSQL, cuya primera versin de cdigo abierto fue lanzada el 1 de agosto de 1996. La primera versin formal de PostgreSQL (6.0) fue liberada en enero de 1997. Desde entonces, muchos desarrolladores entusiastas de los motores de base de datos se unieron al proyecto, coordinaron va Internet y entre todos comenzaron a incorporar muchas caractersticas al motor. Aunque la licencia permita la comercializacin de PostgreSQL, el cdigo no se desarroll en principio con fines comerciales, algo sorprendente considerando las ventajas que PostgreSQL ofreca. La principal derivacin se origin cuando Paula Hawthtorn (un miembro del equipo original de Ingres que se pas a Postgres) y Michael Stonebraker conformaron Illustra Information Technologies para comercializar Postgres. En 2000, ex inversionistas de Red Hat crearon la empresa Great Bridge para comercializar PostgreSQL y competir contra proveedores comerciales de bases de datos. Great Bridge auspici a varios desarrolladores de PostgreSQL y don recursos de vuelta a la comunidad, pero a fines de 2001 cerr debido a la dura competencia de compaas como Red Hat y pobres condiciones del mercado. En 2001, Command Prompt, Inc. lanz Mammonth PostgreSQL, la ms antigua distribucin comercial de PostgreSQL. Contina brindando soporte a la comunidad PostgreSQL a travs del auspicio de desarrolladores y proyectos, incluyendo PL/Perl, PL/php y el alojamiento de proyectos de comunidades como PostgreSQL Build Farm. En enero de 2005, PostgreSQL recibi apoyo del proveedor de base de datos Pervasive Software, conocido por su producto Btrieve que se utilizaba en la plataforma Novell Netware. Pervasive anunci soporte comercial y participacin comunitaria y logr algo de xito. Sin embargo, en julio de 2006 dej el mercado de soporte de PostgreSQL. A mediados de 2005 otras dos compaas anunciaron planes para comercializar PostgreSQL con nfasis en nichos separados de mercados. EnterpriseDB aadi funcionalidades que le permitan a las aplicaciones escritas para trabajar con Oracle ser ms fciles de ejecutar con PostgreSQL. Greenplum contribuy mejoras directamente orientadas a aplicaciones de Data Warehouse e Inteligencia de negocios, incluyendo el proyecto BizGres. En octubre de 2005, John Loiacono, vicepresidente ejecutivo de software en Sun Microsystems coment: "No estamos yendo tras elOEM de Microsoft pero estamos viendo a PostgreSQL ahora", aunque no se dieron especificaciones en ese momento. Para noviembre de 2005, Sun Solaris 10 (lanzamiento 6/06) inclua PostgreSQL. En agosto de 2007 EnterpriseDB anunci el Postgres Resource Center y EnterpriseDB Postgres, diseados para ser una completamente configurada distribucin de PostgreSQL incluyendo muchos mdulos contribuidos y agregados. EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.

El proyecto PostgreSQL contina haciendo lanzamientos principales anualmente y lanzamientos menores de reparacin de bugs, todos disponibles bajo la licencia BSD, y basados en contribuciones de proveedores comerciales, empresas aportantes y programadores de cdigo abierto mayormente.

Caractersticas[editar editar cdigo]


Algunas de sus principales caractersticas son, entre otras:

Alta concurrencia[editar

editar cdigo]

Mediante un sistema denominado MVCC (Acceso concurrente multiversin, por sus siglas en ingls) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visin consistente de lo ltimo a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas comn en otras bases, eliminando la necesidad del uso de bloqueos explcitos.....

Amplia variedad de tipos nativos[editar


PostgreSQL provee nativamente soporte para:

editar cdigo]

Nmeros de precisin arbitraria. Texto de largo ilimitado. Figuras geomtricas (con una variedad de funciones asociadas). Direcciones IP (IPv4 e IPv6). Bloques de direcciones estilo CIDR. Direcciones MAC. Arrays.

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.

Otras caractersticas[editar

editar cdigo]

Claves ajenas tambin denominadas Llaves ajenas o Claves Forneas (foreign keys). Disparadores (triggers): Un disparador o trigger se define como una accin especfica que se realiza de acuerdo a un evento, cuando ste ocurra dentro de la base de datos. En PostgreSQL esto significa la ejecucin de un procedimiento almacenado basado en una determinada accin sobre una tabla especfica. Ahora todos los disparadores se definen por seis caractersticas:

El nombre del disparador o trigger El momento en que el disparador debe arrancar El evento del disparador deber activarse sobre... La tabla donde el disparador se activar La frecuencia de la ejecucin La funcin que podra ser llamada La funcion no es correcta

Entonces combinando estas seis caractersticas, PostgreSQL le permitir crear una amplia funcionalidad a travs de su sistema de activacin de disparadores (triggers).

Vistas. Integridad transaccional. Herencia de tablas. Tipos de datos y operaciones geomtricas. Soporte para transacciones distribuidas. Permite a PostgreSQL integrarse en un sistema distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor de aplicaciones donde el xito ("commit") de la transaccin globlal es el resultado del xito de las transacciones locales. Ms informacin en ingls

en http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95297 y enhttp://java.sun.com/javaee/technologies/jta/index.jsp.

Funciones[editar

editar cdigo]

Bloques de cdigo que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones bsicas de programacin, tales como bifurcaciones y bucles, hasta las complejidades de la programacin orientada a objetos o la programacin funcional. Los disparadores (triggers en ingls) son funciones enlazadas a operaciones sobre los datos. Algunos de los lenguajes que se pueden usar son los siguientes:

Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle). C. C++. Java PL/Java web. PL/Perl. plPHP. PL/Python. PL/Ruby. PL/sh. PL/Tcl. PL/Scheme. Lenguaje para aplicaciones estadsticas R por medio de PL/R.

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 una consulta (query en ingls). 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 ingls).

Ventajas[editar

editar cdigo]

-Seguridad en terminos generales -Integridad en BD: restricciones en el dominio -Integridad referencial - Afirmaciones (Assertions) -Disparadores (Tiggers) -Autorizaciones -Conexin a DBMS -Transacciones y respaldos

Productos alrededor de PostgreSQL[editar editar cdigo]


El PGDG solo desarrolla el Motor de Datos y un nmero pequeo de utilidades, para potenciar el trabajo con PostgreSQL suele ser necesario aadir utilidades externas creadas especialmente para este motor, algunas de estas herramientas son:

Alternativas Comerciales[editar

editar cdigo]

Gracias a su licencia BSD, se permite la utilizacin del cdigo para ser comercializado. Uno de los casos ejemplo es la de Enterprise DB (Postgresql Plus), la cual incluye varios agregados y una interfaz de desarrollo basada en Java. Entre otras empresas que utilizan Postgresql para comercializar se encuentra CyberTech (alemania), con su producto CyberCluster.

GIS[editar
PostGIS

editar cdigo]

Extensin que aade soporte de objetos geogrficos a PostgreSQL y permite realizar anlisis mediante consultas SQL espaciales o mediante conexin a aplicaciones GIS (Sistema de Informacin Geogrfica).

Replicacin[editar
PgCluster

editar cdigo]

Replicacin multi maestro. Slony-I Replicacin maestro esclavo. PyReplica

Replicacin maestro esclavo y multi maestro asincrnica.

Herramientas de administracin[editar
PgAdmin3

editar cdigo]

Entorno de escritorio visual. Instalable en plataformas Linux, FreeBSD, Solaris, Mac OSX y Windows. Permite conectarse a bases de datos PostgreSQL que estn ejecutndose en cualquier plataforma. Facilita la gestin y administracin de bases de datos ya sea mediante instrucciones SQL o con ayuda de un entorno grfico. Permite acceder a todas las funcionalidades de la base de datos; consulta, manipulacin y gestin de datos, incluso opciones avanzadas como manipulacin del motor de replicacin Slony-I PgAccess Entorno de escritorio visual. PhpPgAdmin Entorno web. psql Cliente de consola. Database Master Entorno de escritorio visual.

Bsqueda de texto[editar
Full text search Incluido en el ncleo a partir de la versin 8.3. Via Tsearch2 y OpenFTS para versiones anteriores a la 8.3.

editar cdigo]

XML[editar

editar cdigo]

XML/XSLT soporte Via XPath extensiones en la seccin contrib.

Usuarios destacados[editar editar cdigo]



.org, .info, .mobi y .aero registros de dominios por Afilias.1 La American Chemical Society. BASF. IMDb. Skype. TiVo. Penny Arcade. Sony Online.2 U.S. Departamento de Trabajo. USPS. VeriSign. Pictiger.com Wisconsin Circuit Court Access con 6 * 180GB DBs replicados en tiempo real. OpenACS y .LRN. INEGI. IFE.

Premios[editar editar cdigo]

PostgreSQL ha recibido los siguientes reconocimientos:3

1999 LinuxWorld Editor's Choice Award for Best Database 2000 Linux Journal Editors' Choice Awards for Best Database 2002 Linux New Media Editors Choice Award for Best Database 2003 Linux Journal Editors' Choice Awards for Best Database 2004 Linux New Media Award For Best Database 2004 Linux Journal Editors' Choice Awards for Best Database 2004 ArsTechnica Best Server Application Award 2005 Linux Journal Editors' Choice Awards for Best Database 2006 Linux Journal Editors' Choice Awards for Best Database 2008 Developer.com Product of the Year, Database Tool

Anda mungkin juga menyukai