fbpx
Wikipedia

PostgreSQL

PostgreSQL, también llamado Postgres, es un sistema de gestión de bases de datos relacional orientado a objetos y de código abierto, publicado bajo la licencia PostgreSQL,[1]​ similar a la BSD o la MIT.

PostgreSQL
Información general
Tipo de programa Base de datos objeto-relacional (ORDBMS)
Autor Michael Stonebraker
Desarrollador PostgreSQL Global Development Group
Lanzamiento inicial 1996
Licencia PostgreSQL License[1]
Información técnica
Programado en C
Versiones
Última versión estable 13.3 (info) 13 de mayo de 2021 (2 meses y 23 días)
Última versión en pruebas 9.6 Beta 4
11 de agosto de 2016
Historial de versiones
Enlaces
Sitio web oficial
Repositorio de código

Como muchos otros proyectos de código 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).

PostgreSQL no tiene un gestor de defectos, haciendo muy difícil conocer el estado de sus defectos.[2]

Nombre del producto

El uso de caracteres en mayúscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista. Las distintas pronunciaciones de "SQL" pueden llevar a confusión. Los desarrolladores de PostgreSQL lo pronuncian /poːst ɡɹɛs kjuː ɛl/;. Es también común oír abreviadamente como simplemente "Postgres", el que fue su nombre original. Debido a su soporte del estándar 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 seguiría llamándose PostgreSQL. El nombre hace referencia a los orígenes del proyecto como la base de datos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres.

Historia

PostgreSQL ha tenido una larga evolución, 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. Después 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 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 capacidad de definir tipos, pero también la capacidad 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. Postgres usó muchas ideas de Ingres pero no su código.

La siguiente lista muestra 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 publicaba la versión 1 para una pequeña comunidad de usuarios.
  • 1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas.
  • 1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores de almacenamiento.
  • 1993: crecimiento importante de la comunidad de usuarios, la cual demandaba más características.
  • 1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se disolvió.

Después de que el proyecto POSTGRES terminara, dos graduados de la universidad, Andrew Yu y 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 un intérprete del lenguaje de consultas QUEL (basado en Ingres), creando así el sistema al cual denominaron Postgres95.

Para el año 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 código abierto y comenzaron a trabajar para estabilizar el código de Postgres95.

En el año 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la característica del lenguaje SQL y lo terminaron llamando PostgreSQL, cuya primera versión de código abierto fue lanzada el 1 de agosto de 1996. La primera versión 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 vía Internet y entre todos comenzaron a incorporar muchas características al motor.

Aunque la licencia permitía la comercialización de PostgreSQL, el código no se desarrolló en principio con fines comerciales, algo sorprendente considerando las ventajas que PostgreSQL ofrecía. La principal derivación 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 compañías como Red Hat y pobres condiciones del mercado.

En 2001, Command Prompt, Inc. lanzó Mammonth PostgreSQL, la más antigua distribución comercial de PostgreSQL. Continúa brindando soporte a la comunidad PostgreSQL a través 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 participación 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 compañías anunciaron planes para comercializar PostgreSQL con énfasis en nichos separados de mercados. EnterpriseDB añadió funcionalidades que le permitían a las aplicaciones escritas para trabajar con Oracle ser más fáciles 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) incluía PostgreSQL.

En agosto de 2007 EnterpriseDB anunció el Postgres Resource Center y EnterpriseDB Postgres, diseñados para ser una distribución de PostgreSQL completamente configurada, incluyendo muchos módulos contribuidos y agregados. EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.

El proyecto PostgreSQL continúa haciendo lanzamientos principales anualmente y lanzamientos menores de reparación de bugs, todos disponibles bajo la licencia PostgreSQL, y basados en contribuciones de proveedores comerciales, empresas aportantes y programadores de código abierto mayormente.

Características

Algunas de sus principales características son, entre otras:

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.

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.

Otras características

  • Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
  • Disparadores (triggers): Un disparador o trigger se define como una acción específica que se realiza de acuerdo a un evento, cuando este ocurra dentro de la base de datos. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características:
    • 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 ejecución
    • La función que podría ser llamada
    • La función no es correcta

Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers).

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 orientada 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:

  • Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle).
  • C.
  • C++.
  • Java .
  • PL/Perl.
  • .
  • PL/Python.
  • .
  • .
  • PL/Tcl.
  • .
  • Lenguaje para aplicaciones estadísticas R por medio de .

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 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).

Ventajas

-Seguridad en términos generales

-Integridad en BD: restricciones en el dominio

-Integridad referencial

-Afirmaciones (Assertions)

-Disparadores (Triggers)

-Autorizaciones

-Conexión a sistema de gestión de bases de datos

-Transacciones y respaldos

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 especialmente para este motor, algunas de estas herramientas son:

1.Shanick

Historial de liberaciones

Liberación Primera liberación Última versión menor Última liberación
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-85
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.20   2016-10-27
9.5 2016-01-07 9.5.15   2016-10-27
9.6 2016-09-29 9.6.11   2016-10-27
10 2017-10-05 10.6   2017-10-05
11 2018-10-18 11.1   2018-10-18
  Soportado por la comunidad
  Sin soporte de la comunidad[3]

Alternativas Comerciales

Gracias a su licencia BSD, se permite la utilización del código 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
Extensión que añade soporte de objetos geográficos a PostgreSQL y permite realizar análisis mediante consultas SQL espaciales o mediante conexión a aplicaciones GIS (Sistema de Información Geográfica).

Replicación

PgCluster
Replicación multi maestro.
Slony-I
Replicación maestro esclavo.
PyReplica
Replicación maestro esclavo y multi maestro asincrónica.

Herramientas de administración

pgAdmin
Entorno de escritorio visual libre y de código abierto. Instalable en plataformas Linux, FreeBSD, Solaris, Mac OSX y Windows. Permite conectarse a bases de datos PostgreSQL que estén ejecutándose en cualquier plataforma. Está disponible en diferentes idiomas.
Facilita la gestión y administración de bases de datos ya sea mediante instrucciones SQL o con ayuda de un entorno gráfico. Permite acceder a todas las funcionalidades de la base de datos; consulta, manipulación y gestión de datos, incluso opciones avanzadas como manipulación del motor de replicación Slony-I.

El proyecto pgAdmin fue fundado y tiene como desarrollador principal a David Page.

Esta herramienta se empezó a escribir en Visual Basic y con el tiempo ha cambiado de lenguajes.

  • pgManager fue el nombre del primer prototipo, fue escrito para PostgreSQL 6.3.2 en 1998, meses después fue reescrito y distribuido.
  • pgAdmin fue la versión reescrita, se presentó bajo la licencia GNU General Public License (GPL).
  • pgAdmin II fue una versión reescrita completamente, presentada por primera vez el 16 de enero de 2002.
  • pgAdmin III fue la tercera versión, se liberó bajo la Artistic License y luego bajo la misma licencia que PostgreSQL. Esta versión se hizo en C++, usando el framework wxWidgets framework permitiendo su ejecución en la los sistemas operativos más usados. La herramienta de consultas (query tool) incluye un lenguaje llamado pgScript para soportar tareas de desarrollo y administración.
  • pgAdmin 4 fue presentado el 29 de septiembre de 2016 [4]​ fue hecho en Python y Javascript/jQuery, y un runtime para escritorio escrito en C ++ con la librería gráfica Qt.

En diciembre de 2014 Dave Page, anunció que con el cambio hacia modelos basados en web, se comenzó a trabajar en pgAdmin 4 con el objetivo de facilitar los despliegues en la nube.

PgAccess
Entorno de escritorio visual.
PhpPgAdmin
Entorno web.
psql
Cliente de consola.
Entorno de escritorio visual.

Búsqueda de texto

Full text search
Incluido en el núcleo a partir de la versión 8.3.
Via Tsearch2 y OpenFTS para versiones anteriores a la 8.3.

XML

XML/XSLT soporte
Via .

Usuarios destacados

Premios

PostgreSQL ha recibido los siguientes reconocimientos:[8]

  • 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

Véase también

Referencias

  1. «License». PostgreSQL Global Development Group. Consultado el 24 de agosto de 2015. 
  2. A bug tracker for PostgreSQL?
  3. «Versioning policy». PostgreSQL Global Development Group. Consultado el 30 de enero de 2012. 
  4. https://www.postgresql.org/about/news/1704/
  5. PostgreSQL affiliates.ORG domain
  6. Web de CartoCiudad. Cartografía de red viaria continua y ámbito nacional que discurre por los núcleos de población de España e incorpora las delimitaciones postales y censales de todo el territorio
  7. . postgresql.org. 19 de enero de 2008. Archivado desde el original el 12 de febrero de 2018. Consultado el 31 de enero de 2008. 

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre PostgreSQL.
  • Asistencia técnica profesional para PostgreSQL
  • Sitio web oficial de PostgreSQL
  • Base de datos basada en PostgreSQL
  • PostgreSQL-es - Portal en español sobre PostgreSQL
  • Libros y manuales de PostgreSQL (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  • Cómo manejar índices en PostgreSQL
  • Cliente escrito en PHP
  • Proceso de análisis y planificación de migraciones de Oracle 10g R2 a PostgreSQL 9.1.3 - Centro Nacional de Referencia de Aplicación de las TIC basadas en Fuentes Abiertas (CENATIC).
  •   Datos: Q192490
  •   Multimedia: PostgreSQL
  •   MediaWiki: Manual:PostgreSQL

postgresql, también, llamado, postgres, sistema, gestión, bases, datos, relacional, orientado, objetos, código, abierto, publicado, bajo, licencia, similar, información, generaltipo, programabase, datos, objeto, relacional, ordbms, autormichael, stonebrakerdes. PostgreSQL tambien llamado Postgres es un sistema de gestion de bases de datos relacional orientado a objetos y de codigo abierto publicado bajo la licencia PostgreSQL 1 similar a la BSD o la MIT PostgreSQLInformacion generalTipo de programaBase de datos objeto relacional ORDBMS AutorMichael StonebrakerDesarrolladorPostgreSQL Global Development GroupLanzamiento inicial1996LicenciaPostgreSQL License 1 Informacion tecnicaProgramado enCVersionesUltima version estable13 3 info 13 de mayo de 2021 2 meses y 23 dias Ultima version en pruebas9 6 Beta 411 de agosto de 2016Historial de versiones Estables9 629 de septiembre de 2016 9 6 910 de mayo de 2018 9 6 81 de marzo de 2018 9 6 78 de febrero de 2018 9 6 69 de noviembre de 2017 9 6 528 de agosto de 2017 9 6 410 de agosto de 2017 9 6 38 de mayo de 2017 9 6 29 de febrero de 2017 9 6 127 de octubre de 2016 9 6 1913 de agosto de 2020 9 6 1814 de mayo de 2020 9 6 1713 de febrero de 2020 9 6 1614 de noviembre de 2019 9 6 158 de agosto de 2019 9 6 1420 de junio de 2019 9 6 139 de mayo de 2019 9 6 1214 de febrero de 2019 9 6 118 de noviembre de 2018 9 6 109 de agosto de 2018 9 5 411 de agosto de 2016 9 5 312 de mayo de 2016 9 5 111 de febrero de 2016 9 5 179 de mayo de 2019 9 5 1614 de febrero de 2019 9 5 109 de noviembre de 2017 9 4 911 de agosto de 2016 9 4 229 de mayo de 2019 9 4 2114 de febrero de 2019 9 4 159 de noviembre de 2017 9 3 209 de noviembre de 2017 9 3 1411 de agosto de 2016 9 2 249 de noviembre de 2017 9 2 1811 de agosto de 2016 9 1 2311 de agosto de 2016 13 313 de mayo de 2021 13 211 de febrero de 2021 13 112 de noviembre de 2020 13 024 de septiembre de 2020 123 de octubre de 2019 12 413 de agosto de 2020 12 314 de mayo de 2020 12 213 de febrero de 2020 12 114 de noviembre de 2019 11 913 de agosto de 2020 11 814 de mayo de 2020 11 713 de febrero de 2020 11 614 de noviembre de 2019 11 58 de agosto de 2019 11 420 de junio de 2019 11 39 de mayo de 2019 11 214 de febrero de 2019 11 18 de noviembre de 2018 11 018 de octubre de 2018 10 920 de junio de 2019 10 89 de mayo de 2019 10 714 de febrero de 2019 10 68 de noviembre de 2018 10 59 de agosto de 2018 10 410 de mayo de 2018 10 31 de marzo de 2018 10 26 de febrero de 2018 10 19 de noviembre de 2017 10 1413 de agosto de 2020 10 1314 de mayo de 2020 10 1213 de febrero de 2020 10 1114 de noviembre de 2019 10 108 de agosto de 2019 10 05 de octubre de 2017 Pruebas9 6 Beta 411 de agosto de 2016 9 6 Beta 112 de mayo de 2016 13 beta 121 de mayo de 2020 12 beta 412 de septiembre de 2019 12 beta 38 de agosto de 2019 12 beta 220 de junio de 2019 11 beta 420 de septiembre de 2018 11 beta 39 de agosto de 2018 11 beta 124 de mayo de 2018 10 Beta 428 de agosto de 2017 10 Beta 310 de agosto de 2017EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata Como muchos otros proyectos de codigo 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 PostgreSQL no tiene un gestor de defectos haciendo muy dificil conocer el estado de sus defectos 2 Indice 1 Nombre del producto 2 Historia 3 Caracteristicas 3 1 Alta concurrencia 3 2 Amplia variedad de tipos nativos 3 3 Otras caracteristicas 3 4 Funciones 3 5 Ventajas 4 Productos alrededor de PostgreSQL 5 Historial de liberaciones 5 1 Alternativas Comerciales 5 2 GIS 5 3 Replicacion 5 4 Herramientas de administracion 5 5 Busqueda de texto 5 6 XML 6 Usuarios destacados 7 Premios 8 Vease tambien 9 Referencias 10 Enlaces externosNombre del producto EditarEl uso de caracteres en mayuscula en el nombre PostgreSQL puede confundir a algunas personas a primera vista Las distintas pronunciaciones de SQL pueden llevar a confusion Los desarrolladores de PostgreSQL lo pronuncian poːst ɡɹɛs kjuː ɛl Es tambien comun oir abreviadamente como simplemente Postgres el que fue su nombre original Debido a su soporte del estandar SQL entre la mayor parte de bases de datos relacionales la comunidad considero cambiar el nombre al anterior Postgres Sin embargo el PostgreSQL Core Team anuncio en 2007 que el producto seguiria llamandose PostgreSQL El nombre hace referencia a los origenes del proyecto como la base de datos post Ingres y los autores originales tambien desarrollaron la base de datos Ingres Historia EditarPostgreSQL ha tenido una larga evolucion 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 Despues de haber trabajado un largo tiempo en Ingres y de haber tenido una experiencia comercial con el mismo Michael decidio 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 pretendia resolver los problemas con el modelo de base de datos relacional que habian sido aclarados a comienzos de los anos 1980 El principal de estos problemas era la incapacidad del modelo relacional de comprender tipos es decir combinaciones de datos simples que conforman una unica unidad Actualmente estos son llamados objetos Se esforzaron en introducir la menor cantidad posible de funcionalidades para completar el soporte de tipos Estas funcionalidades incluian la capacidad de definir tipos pero tambien la capacidad de describir relaciones las cuales hasta ese momento eran ampliamente utilizadas pero mantenidas completamente por el usuario En Postgres la base de datos comprendia las relaciones y podia obtener informacion de tablas relacionadas utilizando reglas Postgres uso muchas ideas de Ingres pero no su codigo La siguiente lista muestra los hitos mas importantes en la vida del proyecto Postgres 1986 se publicaron varios papers que describian las bases del sistema 1988 ya se contaba con una version utilizable 1989 el grupo publicaba la version 1 para una pequena comunidad de usuarios 1990 se publicaba la version 2 la cual tenia practicamente reescrito el sistema de reglas 1991 publicacion de la version 3 esta anadia la capacidad de multiples motores de almacenamiento 1993 crecimiento importante de la comunidad de usuarios la cual demandaba mas caracteristicas 1994 despues de la publicacion de la version 4 el proyecto termino y el grupo se disolvio Despues de que el proyecto POSTGRES terminara dos graduados de la universidad Andrew Yu y Jolly Chen comenzaron a trabajar sobre el codigo de POSTGRES esto fue posible dado que POSTGRES estaba licenciado bajo la BSD y lo primero que hicieron fue anadir soporte para el lenguaje SQL a POSTGRES dado que anteriormente contaba con un interprete del lenguaje de consultas QUEL basado en Ingres creando asi el sistema al cual denominaron Postgres95 Para el ano 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 codigo abierto y comenzaron a trabajar para estabilizar el codigo de Postgres95 En el ano 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la caracteristica del lenguaje SQL y lo terminaron llamando PostgreSQL cuya primera version de codigo abierto fue lanzada el 1 de agosto de 1996 La primera version 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 via Internet y entre todos comenzaron a incorporar muchas caracteristicas al motor Aunque la licencia permitia la comercializacion de PostgreSQL el codigo no se desarrollo en principio con fines comerciales algo sorprendente considerando las ventajas que PostgreSQL ofrecia La principal derivacion se origino cuando Paula Hawthtorn un miembro del equipo original de Ingres que se paso 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 auspicio a varios desarrolladores de PostgreSQL y dono recursos de vuelta a la comunidad pero a fines de 2001 cerro debido a la dura competencia de companias como Red Hat y pobres condiciones del mercado En 2001 Command Prompt Inc lanzo Mammonth PostgreSQL la mas antigua distribucion comercial de PostgreSQL Continua brindando soporte a la comunidad PostgreSQL a traves 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 recibio apoyo del proveedor de base de datos Pervasive Software conocido por su producto Btrieve que se utilizaba en la plataforma Novell Netware Pervasive anuncio soporte comercial y participacion comunitaria y logro algo de exito Sin embargo en julio de 2006 dejo el mercado de soporte de PostgreSQL A mediados de 2005 otras dos companias anunciaron planes para comercializar PostgreSQL con enfasis en nichos separados de mercados EnterpriseDB anadio funcionalidades que le permitian a las aplicaciones escritas para trabajar con Oracle ser mas faciles de ejecutar con PostgreSQL Greenplum contribuyo 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 comento 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 incluia PostgreSQL En agosto de 2007 EnterpriseDB anuncio el Postgres Resource Center y EnterpriseDB Postgres disenados para ser una distribucion de PostgreSQL completamente configurada incluyendo muchos modulos contribuidos y agregados EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008 El proyecto PostgreSQL continua haciendo lanzamientos principales anualmente y lanzamientos menores de reparacion de bugs todos disponibles bajo la licencia PostgreSQL y basados en contribuciones de proveedores comerciales empresas aportantes y programadores de codigo abierto mayormente Caracteristicas EditarAlgunas de sus principales caracteristicas son entre otras Alta concurrencia Editar Mediante un sistema denominado MVCC Acceso concurrente multiversion por sus siglas en ingles PostgreSQL permite que mientras un proceso escribe en una tabla otros accedan a la misma tabla sin necesidad de bloqueos Cada usuario obtiene una vision consistente Amplia variedad de tipos nativos Editar PostgreSQL provee nativamente soporte para Numeros de precision arbitraria Texto de largo ilimitado Figuras geometricas 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 caracteristicas Editar Claves ajenas tambien denominadas Llaves ajenas o Claves Foraneas foreign keys Disparadores triggers Un disparador o trigger se define como una accion especifica que se realiza de acuerdo a un evento cuando este ocurra dentro de la base de datos En PostgreSQL esto significa la ejecucion de un procedimiento almacenado basado en una determinada accion sobre una tabla especifica Ahora todos los disparadores se definen por seis caracteristicas El nombre del disparador o trigger 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 La funcion no es correctaEntonces combinando estas seis caracteristicas PostgreSQL le permitira crear una amplia funcionalidad a traves de su sistema de activacion de disparadores triggers Vistas Integridad transaccional Herencia de tablas Tipos de datos y operaciones geometricas 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 exito commit de la transaccion global es el resultado del exito de las transacciones locales Mas informacion en ingles en http www theserverside com discussions thread tss thread id 21385 95297 y en http java sun com javaee technologies jta index jsp Funciones Editar Bloques de codigo que se ejecutan en el servidor Pueden ser escritos en varios lenguajes con la potencia que cada uno de ellos da desde las operaciones basicas de programacion tales como bifurcaciones y bucles hasta las complejidades de la programacion orientada a objetos o la programacion funcional Los disparadores triggers en ingles 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 estadisticas 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 ingles 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 ingles Ventajas Editar Seguridad en terminos generales Integridad en BD restricciones en el dominio Integridad referencial Afirmaciones Assertions Disparadores Triggers Autorizaciones Conexion a sistema de gestion de bases de datos Transacciones y respaldosProductos alrededor de PostgreSQL EditarEl PGDG solo desarrolla el Motor de Datos y un numero pequeno de utilidades para potenciar el trabajo con PostgreSQL suele ser necesario anadir utilidades externas creadas especialmente para este motor algunas de estas herramientas son 1 ShanickHistorial de liberaciones EditarLiberacion Primera liberacion Ultima version menor Ultima liberacion0 01 1995 05 01 0 03 1995 07 211 0 1995 09 05 1 09 1996 11 046 0 1997 01 29 6 1 1997 06 08 6 1 1 1997 07 856 2 1997 10 02 6 2 1 1997 10 176 3 1998 03 01 6 3 2 1998 04 076 4 1998 10 30 6 4 2 1998 12 206 5 1999 06 09 6 5 3 1999 10 137 0 2000 05 08 7 0 3 2000 11 117 1 2001 04 13 7 1 3 2001 08 157 2 2002 02 04 7 2 8 2005 05 097 3 2002 11 27 7 3 21 2008 01 077 4 2003 11 17 7 4 30 2010 10 048 0 2005 01 19 8 0 26 2010 10 048 1 2005 11 08 8 1 23 2010 12 168 2 2006 12 05 8 2 23 2011 09 268 3 2008 02 04 8 3 23 2013 02 078 4 2009 07 01 8 4 22 2014 07 249 0 2010 09 20 9 0 23 2015 10 089 1 2011 09 12 9 1 24 2016 10 279 2 2012 09 10 9 2 19 2016 10 279 3 2013 09 09 9 3 15 2016 10 279 4 2014 12 18 9 4 20 2016 10 279 5 2016 01 07 9 5 15 2016 10 279 6 2016 09 29 9 6 11 2016 10 2710 2017 10 05 10 6 2017 10 0511 2018 10 18 11 1 2018 10 18 Soportado por la comunidad Sin soporte de la comunidad 3 Alternativas Comerciales Editar Gracias a su licencia BSD se permite la utilizacion del codigo 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 Extension que anade soporte de objetos geograficos a PostgreSQL y permite realizar analisis mediante consultas SQL espaciales o mediante conexion a aplicaciones GIS Sistema de Informacion Geografica Replicacion Editar PgCluster Replicacion multi maestro Slony I Replicacion maestro esclavo PyReplica Replicacion maestro esclavo y multi maestro asincronica Herramientas de administracion Editar pgAdmin Entorno de escritorio visual libre y de codigo abierto Instalable en plataformas Linux FreeBSD Solaris Mac OSX y Windows Permite conectarse a bases de datos PostgreSQL que esten ejecutandose en cualquier plataforma Esta disponible en diferentes idiomas Facilita la gestion y administracion de bases de datos ya sea mediante instrucciones SQL o con ayuda de un entorno grafico Permite acceder a todas las funcionalidades de la base de datos consulta manipulacion y gestion de datos incluso opciones avanzadas como manipulacion del motor de replicacion Slony I El proyecto pgAdmin fue fundado y tiene como desarrollador principal a David Page Esta herramienta se empezo a escribir en Visual Basic y con el tiempo ha cambiado de lenguajes pgManager fue el nombre del primer prototipo fue escrito para PostgreSQL 6 3 2 en 1998 meses despues fue reescrito y distribuido pgAdmin fue la version reescrita se presento bajo la licencia GNU General Public License GPL pgAdmin II fue una version reescrita completamente presentada por primera vez el 16 de enero de 2002 pgAdmin III fue la tercera version se libero bajo la Artistic License y luego bajo la misma licencia que PostgreSQL Esta version se hizo en C usando el framework wxWidgets framework permitiendo su ejecucion en la los sistemas operativos mas usados La herramienta de consultas query tool incluye un lenguaje llamado pgScript para soportar tareas de desarrollo y administracion pgAdmin 4 fue presentado el 29 de septiembre de 2016 4 fue hecho en Python y Javascript jQuery y un runtime para escritorio escrito en C con la libreria grafica Qt En diciembre de 2014 Dave Page anuncio que con el cambio hacia modelos basados en web se comenzo a trabajar en pgAdmin 4 con el objetivo de facilitar los despliegues en la nube PgAccess Entorno de escritorio visual PhpPgAdmin Entorno web psql Cliente de consola Database Master Entorno de escritorio visual Busqueda de texto Editar Full text search Incluido en el nucleo a partir de la version 8 3 Via Tsearch2 y OpenFTS para versiones anteriores a la 8 3 XML Editar XML XSLT soporte Via XPath extensiones en la seccion contrib Usuarios destacados Editar org info mobi y aero registros de dominios por Afilias 5 La American Chemical Society BASF IMDb Skype TiVo Penny Arcade Sony Online 6 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 INE CartoCiudad 7 del IGN de Espana Premios EditarPostgreSQL ha recibido los siguientes reconocimientos 8 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 ToolVease tambien EditarMongoDBReferencias Editar a b License PostgreSQL Global Development Group Consultado el 24 de agosto de 2015 A bug tracker for PostgreSQL Versioning policy PostgreSQL Global Development Group Consultado el 30 de enero de 2012 https www postgresql org about news 1704 PostgreSQL affiliates ORG domain Sony Online opts for open source database over Oracle Web de CartoCiudad Cartografia de red viaria continua y ambito nacional que discurre por los nucleos de poblacion de Espana e incorpora las delimitaciones postales y censales de todo el territorio PostgreSQL Award Winning Software postgresql org 19 de enero de 2008 Archivado desde el original el 12 de febrero de 2018 Consultado el 31 de enero de 2008 Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre PostgreSQL Asistencia tecnica profesional para PostgreSQL Sitio web oficial de PostgreSQL Guia de administracion basica de PostgreSQL bajo Linux Base de datos basada en PostgreSQL PostgreSQL es Portal en espanol sobre PostgreSQL Libros y manuales de PostgreSQL enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Como manejar indices en PostgreSQL Comunidad de usuarios y sitio de PostgreSQL de Argentina Comunidad de usuarios y sitio de PostgreSQL de Peru Cliente escrito en PHP Proceso de analisis y planificacion de migraciones de Oracle 10g R2 a PostgreSQL 9 1 3 Centro Nacional de Referencia de Aplicacion de las TIC basadas en Fuentes Abiertas CENATIC Datos Q192490 Multimedia PostgreSQL MediaWiki Manual PostgreSQLObtenido de https es wikipedia org w index php title PostgreSQL amp oldid 135912398, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos