Você está na página 1de 9

5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

PostgreSQL
De Wikipedia, la enciclopedia libre

PostgreSQL es un Sistema de gestin de bases de datos


relacional orientado a objetos y libre, publicado bajo la
PostgreSQL
licencia PostgreSQL,1 similar a la BSD o la MIT.
www.postgresql.org (https://www.postgresql.org)
Como muchos otros proyectos de cdigo abierto, el
desarrollo de PostgreSQL no es manejado por una
empresa o persona, sino que es dirigido por una
comunidad de desarrolladores que trabajan de forma
desinteresada, altruista, libre o apoyados por
organizaciones comerciales. Dicha comunidad es
denominada el PGDG (PostgreSQL Global Development
Group).

ndice
Informacin general
1 Nombre del producto Desarrollador(es) PostgreSQL Global Development
2 Historia Group
3 Caractersticas
3.1 Alta concurrencia ltima versin 9.6.3 (info (https://www.postgresq
3.2 Amplia variedad de tipos nativos estable l.org/about/newsarchive/))
3.3 Otras caractersticas 11 de mayo de 2017 (1 mes y 25
3.4 Funciones das)
3.5 Ventajas
Gnero Base de datos objeto-relacional
4 Productos alrededor de PostgreSQL
(ORDBMS)
5 Historial de liberaciones
5.1 Alternativas Comerciales Programado en C, SQL y C++
5.2 GIS Sistema Multiplataforma
5.3 Replicacin operativo
5.4 Herramientas de administracin
5.5 Bsqueda de texto Licencia PostgreSQL License1
5.6 XML En espaol No
6 Usuarios destacados [editar datos en Wikidata]
7 Premios
8 Referencias
9 Enlaces externos

Nombre del producto


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 "post-Ingres", y los autores originales tambin desarrollaron la base de datos
Ingres.

Historia
https://es.wikipedia.org/wiki/PostgreSQL 1/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

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 el 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 de tablas 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.

https://es.wikipedia.org/wiki/PostgreSQL 2/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

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 el OEM 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 PostgreSQL, y basados en contribuciones de proveedores
comerciales, empresas aportantes y programadores de cdigo abierto mayormente.

Caractersticas
Algunas de sus principales caractersticas son, entre otras:

Alta concurrencia
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


PostgreSQL provee nativamente soporte para:

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.

https://es.wikipedia.org/wiki/PostgreSQL 3/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

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
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 funcin 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 global 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 en
http://java.sun.com/javaee/technologies/jta/index.jsp.

Funciones
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 (http://web.archive.org/web/http://gborg.postgresql.org/project/pljava/projdisplay.php).
PL/Perl.
plPHP (http://web.archive.org/web/http://plphp.commandprompt.com/).
PL/Python (http://www.postgresql.org/docs/current/interactive/plpython.html).
PL/Ruby (http://raa.ruby-lang.org/project/pl-ruby).
PL/sh (http://plsh.projects.postgresql.org/).
PL/Tcl (http://www.postgresql.org/docs/current/interactive/pltcl.html).
PL/Scheme (http://plscheme.projects.postgresql.org/).
Lenguaje para aplicaciones estadsticas R por medio de PL/R (http://www.joeconway.com/plr/).

https://es.wikipedia.org/wiki/PostgreSQL 4/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

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
-Seguridad en trminos generales

-Integridad en BD: restricciones en el dominio

-Integridad referencial

-Afirmaciones (Assertions)

-Disparadores (Triggers)

-Autorizaciones

-Conexin a DBMS

-Transacciones y respaldos

Productos alrededor de PostgreSQL


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:

Historial de liberaciones

https://es.wikipedia.org/wiki/PostgreSQL 5/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

Liberacin Primera liberacin ltima versin menor ltima liberacin


0.01 1995-05-01 0.03 1995-07-21
1.0 1995-09-05 1.09 1996-11-04
6.0 1997-01-29
6.1 1997-06-08 6.1.1 1997-07-22
6.2 1997-10-02 6.2.1 1997-10-17
6.3 1998-03-01 6.3.2 1998-04-07
6.4 1998-10-30 6.4.2 1998-12-20
6.5 1999-06-09 6.5.3 1999-10-13
7.0 2000-05-08 7.0.3 2000-11-11
7.1 2001-04-13 7.1.3 2001-08-15
7.2 2002-02-04 7.2.8 2005-05-09
7.3 2002-11-27 7.3.21 2008-01-07
7.4 2003-11-17 7.4.30 2010-10-04
8.0 2005-01-19 8.0.26 2010-10-04
8.1 2005-11-08 8.1.23 2010-12-16
8.2 2006-12-05 8.2.23 2011-09-26
8.3 2008-02-04 8.3.23 2013-02-07
8.4 2009-07-01 8.4.22 2014-07-24
9.0 2010-09-20 9.0.23 2015-10-08
9.1 2011-09-12 9.1.24 2016-10-27
9.2 2012-09-10 9.2.19 2016-10-27
9.3 2013-09-09 9.3.15 2016-10-27
9.4 2014-12-18 9.4.10 2016-10-27
9.5 2016-01-07 9.5.5 2016-10-27
9.6 2016-09-29 9.6.1 2016-10-27

Soportado por la comunidad


Sin soporte de la comunidad2

Alternativas Comerciales
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
PostGIS
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

https://es.wikipedia.org/wiki/PostgreSQL 6/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

PgCluster
Replicacin multi maestro.

Slony-I
Replicacin maestro esclavo.

PyReplica
Replicacin maestro esclavo y multi maestro asincrnica.

Herramientas de administracin
PgAdmin3
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 (http://www.nucleonsoftware.com)


Entorno de escritorio visual.

Bsqueda de texto
Full text search
Incluido en el ncleo a partir de la versin 8.3.
Via Tsearch2 (http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/) y OpenFTS para versiones
anteriores a la 8.3.

XML
XML/XSLT soporte
Via XPath extensiones en la seccin contrib (http://www.throwingbeans.org/postgresql_and_xml.html).

Usuarios destacados
.org, .info, .mobi y .aero registros de dominios por Afilias.3
La American Chemical Society.
BASF.
IMDb.
Skype.
TiVo.
Penny Arcade.
Sony Online.4
U.S. Departamento de Trabajo.
USPS.
VeriSign.
Pictiger.com
https://es.wikipedia.org/wiki/PostgreSQL 7/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

Wisconsin Circuit Court Access con 6 * 180GB DBs replicados en tiempo real.
OpenACS y .LRN.
INEGI.
INE.
CartoCiudad.5 del IGN de Espaa.

Premios
PostgreSQL ha recibido los siguientes reconocimientos:6

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

Referencias
1. License (http://www.postgresql.org/about/licence). PostgreSQL Global Development Group. Consultado el 24 de
agosto de 2015.
2. Versioning policy (http://www.postgresql.org/support/versioning/). PostgreSQL Global Development Group.
Consultado el 30 de enero de 2012.
3. PostgreSQL affiliates.ORG domain (http://www.computerworld.com.au/index.php?id=760310963)
4. Sony Online opts for open-source database over Oracle (http://web.archive.org/web/http://www.computerworld.com/
databasetopics/data/software/story/0,10801,109722,00.html)
5. Web de CartoCiudad. Cartografa de red viaria continua y mbito nacional que discurre por los ncleos de poblacin
de Espaa e incorpora las delimitaciones postales y censales de todo el territorio (http://www.cartociudad.es/portal)
6. PostgreSQL, Award Winning Software (http://www.postgresql.org/about/awards). postgresql.org. 19 de enero de
2008. Consultado el 31 de enero de 2008.

Enlaces externos
Wikimedia Commons alberga contenido multimedia sobre PostgreSQL.
Asistencia tcnica profesional para PostgreSQL (http://www.postgresql.org/support/professional_suppor
t)
Sitio web oficial de PostgreSQL (http://www.postgresql.org)
Gua de administracin bsica de PostgreSQL bajo Linux (http://wiki.woop.es/PostgreSQL)
Base de datos basada en PostgreSQL (http://www.pervasivepostgres.com/)
PostgreSQL-es (http://www.postgresql.org.es/) - Portal en espaol sobre PostgreSQL
Comunidad de usuarios y sitio de PostgreSQL de Argentina (http://www.arpug.com.ar)
Comunidad de usuarios y sitio de PostgreSQL de Per (http://web.archive.org/web/http://www.postgresq
l.org.pe/)
Cliente escrito en PHP (http://phppgadmin.sourceforge.net/)
Proceso de anlisis y planificacin de migraciones de Oracle 10g R2 a PostgreSQL 9.1.3 (http://wiki.cen
atic.es/wikiesp/index.php/Procedimiento_de_An%C3%A1lisis_y_Planificaci%C3%B3n_de_Migraci%C
3%B3n_de_Oracle_10g_R2_a_PostgreSQL_9.1.3) - Centro Nacional de Referencia de Aplicacin de las
TIC basadas en Fuentes Abiertas (CENATIC) (http://www.cenatic.es).

Obtenido de https://es.wikipedia.org/w/index.php?title=PostgreSQL&oldid=99113646

https://es.wikipedia.org/wiki/PostgreSQL 8/9
5/7/2017 PostgreSQL - Wikipedia, la enciclopedia libre

Categoras: Sistemas de gestin de bases de datos libres Software para Linux Software para Unix

Se edit esta pgina por ltima vez el 13 may 2017 a las 17:57.
El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; pueden
aplicarse clusulas adicionales. Al usar este sitio, usted acepta nuestros trminos de uso y nuestra poltica
de privacidad.
Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de
lucro.

https://es.wikipedia.org/wiki/PostgreSQL 9/9

Você também pode gostar