Definición: PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Es más completo que MySQL ya que permite métodos almacenados, restricciones de integridad, vistas, etc.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es mane maneja jad do por por una una sola ola emp empres resa sin sino que que es diri dirigi gido do por una una comu comuni nid dad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG ( PostgreSQL Global Development Group). Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales. Utiliza el lenguaje SQL para llevar a cabo sus búsquedas de información, las bases de datos generadas dentro de servidores de SQL son bases de datos relacionales. Utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando.
¿Qué es PostGreSQL? PostGreSQL es un sistema de gestión de bases de datos objeto-relacional (ORDBMS) basado en el proyecto POSTGRES, de la universidad de Berkeley. El director de este proyecto es el profesor Michael Stonebraker, y fue patrocinado por Defense Advanced Resear Research ch Projec Projects ts Agency Agency (DARP (DARPA), A), el Army Army Resear Research ch Offic Officee (ARO), (ARO), el Nation National al Science Foundation (NSF), y ESL, Inc. PostGreSQL es una derivación libre (OpenSource) de este proyecto, y utiliza el lenguaje SQL92/SQL99, así como otras características que comentaremos más adelante. Fue el pionero en muchos de los conceptos existentes en el sistema objeto-relacional actual, incluido, más tarde en otros sistemas de gestión comerciales. PostGreSQL es un sistema objeto-relacional, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional. A pesar de esto, PostGreSQL no es un sistema de gestión de bases de datos puramente orientado a objetos.
Características de PostGreSQL A continuación se enumeran las principales características de este gestor de bases de datos: 1. Implementac Implementación ión del estándar estándar SQL92 SQL92/SQL9 /SQL99. 9. 2. Soporta Soporta distintos distintos tipos de datos: datos: además además del soporte para para los tipos base, base, también soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC, IP ...), cadenas de bits, etc. También permite la creación de tipos propios. 3. Incorpora Incorpora una una estructu estructura ra de datos array. array. 4. Incorpora Incorpora funciones funciones de diversa diversa índole: índole: manejo de fechas, fechas, geométricas, geométricas, orientadas orientadas a operaciones con redes, etc. 5. Perm Permit itee la decl declaaraci ración ón de funci uncio ones nes prop ropias, ias, así como como la defi defini nicción ión de disparadores. 6. Soporta Soporta el uso de de índices, índices, reglas reglas y vistas. vistas. 7. Incluye Incluye herencia herencia entre tablas tablas (aunque (aunque no entre objetos, objetos, ya que no existen), existen), por por lo que a este gestor de bases de datos se le incluye entre los gestores objetorelacionales. 8. Permite Permite la gestión de diferente diferentess usuarios, usuarios, como también también los permisos permisos asignados asignados a cada uno de ellos.
A continuación continuación tenéis un gráfico que ilustra de manera general los componentes más importantes en un sistema PostgreSQL .
•
•
•
•
•
•
•
•
Aplicación cliente: Esta es la aplicación cliente que utiliza PostgreSQL como administrador de bases de datos. La conexión puede ocurrir via TCP/IP ó sockets locales. Demonio Demonio postmaster postmaster: Este Este es el proc proces eso o prin princi cipa pall de Post Postgr greS eSQL QL.. Es el encargado de escuchar por un puerto/socket por conexiones entrantes de clientes. Tambi ambien en es el enca encarg rgad ado o de crear crear los los proc proces esos os hijo hijoss que que se enca encarg rgar aran an de autentificar estas peticiones, gestionar las consultas y mandar los resultados a las aplicaciones clientes Ficheros de configuracion: Los 3 ficheros principales de configuración utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf Procesos hijos postgres: Procesos hijos que se encargan de autentificar a los clientes, de gestionar las consultas y mandar los resultados a las aplicaciones clientes PostgreSQL share buffer cache : Memoria compartida usada por POstgreSQL para almacenar datos en caché. Write-Ahead Log (WAL) : Componente del sistema encargado de asegurar la integridad de los datos (recuperación de tipo REDO) Kernel disk buffer cache : Caché de disco del sistema operativo Disco: Disco físico donde se almacenan los datos y toda la información necesaria para que PostgreSQL funcione
ventajas de postgresSQL Instalación ilimitada Es frecuente que las bases de datos comerciales sean instaladas en más servidores de lo que permite la licencia. Algunos proveedores comerciales consideran a esto la principal fuente d e incumplimiento de licencia. Con PostgreSQL, nadie puede demandarlo por violar acuerdos de licencia, puesto que no hay costo asociado a la licencia del software.
Esto tiene varias ventajas adicionales: •
•
•
Modelos de negocios más rentables con instalaciones a gran escala. No existe la posibilidad de ser auditado para verificar cumplimiento de licencia en ningún momento. Flexibilidad para hacer investigación y desarrollo sin necesidad de incurrir en costos adicionales de licenciamiento.
Mejor soporte que los proveedores comerciales Además de nuestras ofertas de soporte, tenemos un a importante comunidad de profesionales y entusiastas de PostgreSQL de los que su compañía puede obtene r beneficios y contribuir. contribuir.
Ahorros considerables en costos de operación Nuestro software ha sido diseñado y creado pa ra tener un mantenimiento y ajuste mucho menor que los productos de los proveedores comerciales, conservando todas las características, estabilidad y rendimiento. Además de esto, nuestros programas de entrenamiento son reconocidamente mucho más costoefectivos, manejables y prácticos en el mundo real que aquellos de los principales proveedores comerciales.
Estabilidad y con fiabilidad legendarias En contraste a muchos sistemas de bases de datos comerciales, es extremadamente común que compañías reporten que PostgreSQL nunca ha presentado caídas en varios años de operación de alta actividad. Ni una sola vez. Simplemente funciona.
Extensible El código fuente está disponible para todos sin costo. Si su equipo necesita extender o personalizar PostgreSQL de alguna manera, pueden hacerlo con un mínimo esfuerzo, sin costos adicionales. Esto es complementado por la comunidad de profesionales y entusiastas de PostgreSQL alrededor del mundo que también extienden PostgreSQL todos los días.
Multiplataforma PostgreSQL está disponible en casi cualquier Unix (34 plataformas en la última versión estable), y una versión nativa de Windows está actualmente en estado beta de pruebas.
Diseñado para ambientes de alto volumen PostgreSQL usa una estrategia de almacenamiento de filas llamada MVCC para co nseguir una mucho mejor respuesta en ambientes de grandes volúmenes. Los principales proveedores de sistemas de bases de datos comerciales usan también esta tecnología, por las mismas razones.
Herramientas gráficas de diseño y administración de bases de datos Existen varias herramientas gráficas de alta calidad para administrar las bases de datos (pgAdmin , pgAccess) y para hacer diseño de bases de datos (Tora , Data Architect).
Conclusión En conclusión el software postgreSQL también llamado Postgres95 es una alternativa libre dado que es manejado bajo una licencia BSD esta licencia tiene menos restricciones en comparación con otras por lo tanto se puede decir que es muy cercana al dominio publico, como es una alternativa libre se va mejorando constantemente por los propios usuarios. PostgreSQL es un sistema de gestión de base de datos, es uno de los mejores del mercado y en su ultima versión 8.4 no tiene nada que envidiarle a otras bases de datos que existen en la actualidad. usa un lenguaje PL/PgSQL que es muy similar al PL/SQL de Oracle también puede utilizar otros tipos de lenguajes como por ejemplo: C, C++, java PL/java web, PL/Perl. Entre otros. Utiliza un modelo cliente/servidor y usa mulitiprocesos en vez de multihilos. Esta basado en el proyecto POSTGRE, de la universidad de Berkeley. Berkeley. PostgreSQL es un sistema objeto-relacional, ya que incluye características de la orientación a objetos. Alguna Algunass caract caracterí erísti sticas cas de postgre postgreSQ SQL L son que soport soportaa distin distintos tos tipos tipos de datos, datos, incorp incorpora ora una estructura de datos array, incorpora funciones de diversa índole, incluye la herencia entre tablas, entre muchas mas. Es ideal para el manejo de bases de datos dinámicas en la cual se podrán realizar consultas espaciales. PostgreSQL PostgreSQL tiene tiene muchas ventajas ventajas como al ser libre puede instalarlo instalarlo ilimitadam ilimitadamente ente sin romper ninguna ninguna ley, ley, tiene una gran estabilidad estabilidad y cuenta con una confiabilid confiabilidad ad legendaria, legendaria, es multiplata multiplataforma forma eso quiere decir que puede ser utilizado en casi cualquier Unix para ser exacto 34 plataformas en la ultima versión estable, esta diseñado para ambientes de alto volumen, tiene herramientas gráficas y de diseño. Para finalizar les recomiendo que empiecen a utilizar postgreSQL dado que tiene muchas características que lo hacen uno de los mejores y sobre todo es la base de datos libre mas avanzada del mundo.
Bibliografía http://www.postgresql-es.org/sobre_postgresql http://www.guia-ubuntu.org/index.php?title=PostgreSQL http://es.wikipedia.org/wiki/PostgreSQL www.diprotask.com/dpt_support/glosario.html http://structio.sourceforge.net/guias/servidor_OpenBSD/postgresql.html http://danielpecos.com/docs/mysql_postgres/x15.html#AEN30 http://soporte.tiendalinux.com/portal/Portfolio/postgresql_ventajas_html