Movatterモバイル変換


[0]ホーム

URL:


Ir al contenido
WikipediaLa enciclopedia libre
Buscar

PostgreSQL

De Wikipedia, la enciclopedia libre
PostgreSQL
Información general
Tipo de programaBase de datos objeto-relacional (ORDBMS)
AutorMichael Stonebraker
DesarrolladorPostgreSQL Global Development Group
Lanzamiento inicial1996
Vulnerabilidades
  • CVE-2022-2625
  • CVE-2023-2454
  • CVE-2023-2455
LicenciaPostgreSQL License[1]
Información técnica
Programado enC
Versiones
Última versión estable18.2 (info)(12 de febrero de 2026 (8 días))
Última versión en pruebas18 release candidate 14 de septiembre de 2025
Enlaces

PostgreSQL, también llamadoPostgres, es unsistema de gestión de bases de datosrelacionalorientado a objetos y decódigo abierto, publicado bajo lalicencia PostgreSQL,[1]​ similar a laBSD o laMIT.

Como muchos otros proyectos decó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 pororganizaciones comerciales. Dicha comunidad es denominada elPGDG (PostgreSQL Global Development Group).

PostgreSQL no tiene un gestor de errores (bugs), haciendo muy difícil conocer el estado de corrección de los mismos.[2]

Nombre del producto

[editar]

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 "Postgrees", 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 labase de datos "post-Ingres", y los autores originales también desarrollaron la base de datos Ingres.

Historia

[editar]
Este artículo o sección necesitareferencias que aparezcan en unapublicación acreditada.
Busca fuentes:«PostgreSQL»noticias ·libros ·académico ·imágenes
Puedes avisar al redactor principal pegando lo siguiente en su página de discusión:{{sust:Aviso referencias|PostgreSQL}} ~~~~
Uso de esta plantilla:{{Referencias|t={{sust:CURRENTTIMESTAMP}}}}

PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el proyectoIngres en laUniversidad de Berkeley. Este proyecto, liderado porMichael Stonebraker, fue uno de los primeros intentos en implementar un motor de base de datos relacional. Después de haber trabajado un largo tiempo enIngres 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 llamadosobjetos. 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 detablas relacionadas utilizandoreglas. 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 informes 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 yJolly Chen, comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo laBSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con uninté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 comoMarc Fournier de Hub.Org Networking Services,Bruce Momjian yVadim 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 lenguajeSQL 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) yMichael Stonebraker conformaron Illustra Information Technologies para comercializar Postgres.

En 2000, ex inversionistas deRed 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 datosPervasive Software, conocido por su productoBtrieve que se utilizaba en la plataformaNovell 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 deData Warehouse eInteligencia de negocios, incluyendo el proyecto BizGres.

En octubre de 2005, John Loiacono, vicepresidente ejecutivo de software enSun Microsystems comentó: "No estamos yendo tras elOEM deMicrosoft 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

[editar]

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

Alta concurrencia

[editar]

Mediante un sistema denominadoMVCC (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

[editar]

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 datosGIS creados por el proyectoPostGIS.

Otras características

[editar]
  • Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
  • Disparadores (triggers): Un disparador otrigger 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 otrigger
    • 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

[editar]

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:

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

[editar]
  • Seguridad en términos únicos

Productos alrededor de PostgreSQL

[editar]

ElPGDG solo desarrolla el Motor de Datos y un número pequeño de utilidades, para potenciarel 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

[editar]
LiberaciónPrimera liberaciónÚltima versión menorÚltima liberación
0.011995-05-010.031995-07-21
1.01995-09-051.09No 1996-11-04
6.01997-01-29
6.11997-06-086.1.1No 1997-07-85
6.21997-10-026.2.1No 1997-10-17
6.31998-03-016.3.2No 1998-04-07
6.41998-10-306.4.2No 1998-12-20
6.51999-06-096.5.3No 1999-10-13
7.02000-05-087.0.3No 2000-11-11
7.12001-04-137.1.3No 2001-08-15
7.22002-02-047.2.8No 2005-05-09
7.32002-11-277.3.21No 2008-01-07
7.42003-11-177.4.30No 2010-10-04
8.02005-01-198.0.26No 2010-10-04
8.12005-11-088.1.23No 2010-12-16
8.22006-12-058.2.23No 2011-09-26
8.32008-02-048.3.23No 2013-02-07
8.42009-07-018.4.22No 2014-07-24
9.02010-09-209.0.23No 2015-10-08
9.12011-09-129.1.24No 2016-10-27
9.22012-09-109.2.19No 2016-10-27
9.32013-09-099.3.15No 2016-10-27
9.42014-12-189.4.20Sí 2016-10-27
9.52016-01-079.5.15Sí 2016-10-27
9.62016-09-299.6.11Sí 2016-10-27
102017-10-0510.6Sí 2017-10-05
112018-10-1811.1Sí 2018-10-18
Sí Soportado por la comunidad
No Sin soporte de la comunidad[3]

Alternativas Comerciales

[editar]

Gracias a su licenciaBSD, 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 enJava. Entre otras empresas que utilizan Postgresql para comercializar se encuentra CyberTech (Alemania), con su producto CyberCluster.

GIS

[editar]
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 aplicacionesGIS (Sistema de Información Geográfica).

Replicación

[editar]
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

[editar]
pgAdmin
Entorno de escritorio visual libre y de código abierto. Instalable en plataformasLinux,FreeBSD,Solaris,Mac OSX yWindows. 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 elframework 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 unruntime 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.
Database Master
Entorno de escritorio visual.

Búsqueda de texto

[editar]
Full text search
Incluido en el núcleo a partir de la versión 8.3.
VíaTsearch2 yOpenFTS para versiones anteriores a la 8.3.

XML

[editar]
XML/XSLT soporte
VíaXPath extensiones en la sección contrib.

Usuarios destacados

[editar]

Premios

[editar]

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

[editar]

Referencias

[editar]
  1. ab«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. Sony Online opts for open-source database over Oracle
  7. 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
  8. «PostgreSQL, Award Winning Software». postgresql.org. 19 de enero de 2008. Archivado desdeel original el 12 de febrero de 2018. Consultado el 31 de enero de 2008. 

Enlaces externos

[editar]
Control de autoridades

Obtenido de «https://es.wikipedia.org/w/index.php?title=PostgreSQL&oldid=172087277»
Categorías:
Categorías ocultas:

[8]ページ先頭

©2009-2026 Movatter.jp