Cristiana
PostgreSQL es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de código 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 por organizaciones comerciales. Dicha comunidades denominada el PGDG (PostgreSQL Global Development Group).
Algunas de sus principales características son, entre otras:
[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 unavisión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filascomún en otras bases, eliminando la necesidad del uso de bloqueos explícitos.....
[editar]Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para:
* Números de precisión arbitraria.
* Texto de largo ilimitado.
* Figuras geométricas (con unavariedad 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.[editar]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 éste 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 unatabla 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
Entonces combinandoestas seis características, PostgreSQL le permitirá crear 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.
* 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 transacción globlal es el resultado del éxito de las transacciones locales. Más información en inglés en http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95297 yen http://java.sun.com/javaee/technologies/jta/index.jsp.
[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 orientada a objetos o la programación funcional.
Los disparadores (triggers en inglés) son funciones enlazadas aoperaciones 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 estadísticas R por medio de PL/R
PostgreSQL...
Regístrate para leer el documento completo.