Autor: MSc. Marbelys Santana Riera* / marbelis.santana@myb.jovenclub.cu

PostgreSQL, relational database system

Resumen: En el presente artículo se muestran las características y particularidades del sistema de bases de datos relacional PostgreSQL. Además, se presentan las ventajas y desventajas, funciones y cómo administrar el sistema mediante interfaz gráfica. Así como una comparación entre PostgreSQL y MySQL.

Abstract: This article shows the peculiarities of the PostgreSQL relational database system. In addition, the advantages and disadvantages, functions and how to manage the system through a graphical interface are provided. As well as a comparison between PostgreSQL and MySQL.

¿Qué es PostgreSQL?

PostgreSQL es uno de los sistemas de gestión de bases de datos relacionales más empleados en la actualidad. Está orientado a objeto, contando con versiones para una amplia gama de sistemas operativos, entre ellos: Linux, Windows, Mac OS X y Solaris. Se destaca por su robustez, escalabilidad y cumplimiento de los estándares SQL.

Orígenes

Nació a mediados de la década de 1980 a partir de Ingres, otro proyecto de bases de datos que tuvo su origen en la década anterior. Michael Stonebraker, quien encabezó el proyecto, decidió llamar Post Ingres a su nuevo sistema, acortando el nombre simplemente a Postgres.

La primera versión al público, de acceso bastante limitado por cierto, estuvo disponible en el año 1989. El proyecto siguió creciendo y mejorando en los años posteriores, pero el equipo que lo llevaba adelante se separó en 1994. Dado que Postgres contaba con licencia libre, el proyecto fue retomado y relanzado con soporte para SQL al año siguiente.

Recibió su nombre actual en el año 1997 junto al lanzamiento de su versión 6.0, aunque el cambio ya había sido anunciado el año anterior. A partir de allí, gran cantidad de usuarios e interesados decidieron unirse al proyecto, dando origen a la gigantesca comunidad que hoy en día respalda a PostgreSQL. El proyecto continúa realizando lanzamientos principales, de manera anual; y lanzamientos menores de reparación de bugs cada cierto tiempo, bajo la licencia PostgreSQL basados en contribuciones de proveedores comerciales y programadores de código abierto mayormente.

Características

PostgreSQL destaca por presentar varias características. Dentro de las más importantes podemos mencionar:

  • El lenguaje SQL que usa es muy próximo al estándar ISO/IEC, por lo que resulta relativamente sencillo importar consultas y scripts de otros sistemas de bases de datos.
  • Permite crear esquemas, tablas heredadas y triggers orientados a eventos, aspecto este que no poseen otros motores.
  • Permite definir procedimientos, no solo en PostgreSQL, sino también en otros lenguajes como Pearl o Python.
  • Podemos extender la funcionalidad con extensiones provistas por PostgreSQL, por terceros o incluso programadas por nuestra cuenta.

Potencialidades

La combinación de sus características permite crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers en inglés). Los disparadores son funciones enlazadas a operaciones a realizar con los datos.

En PostgreSQL el tamaño máximo de la base de datos es ilimitado. El de una tabla asciende a 32 TB, el de una fila a 1.6 TB, y el de un campo de datos a 1 GB. El número de filas en una tabla es ilimitado, pero no el de columnas, que oscila entre 250 y 1600 columnas por tabla. El número de índices por tabla es también ilimitado.

Los bloques de código que se ejecutan en el servidor pueden ser escritos en diferentes lenguajes, con la potencia que cada uno de ellos ofrece, 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.

Ventajas de PostgreSQL

  • Es un gestor de base de datos de código libre, completamente gratuito. Se puede instalar y utilizar las veces que se desee y en todos los dispositivos que se necesite.
  • Es compatible con prácticamente todas las tecnologías y sistemas operativos disponibles.
  • Presenta un sistema de alta disponibilidad mientras los servidores están en modo de suspensión o recuperación, por lo que los usuarios pueden acceder en modo de solamente lectura, sin bloquear de forma completa el sistema.
  • Es posible configurarlo según los recursos de hardware disponibles en el sistema, por lo que se puede ajustar el número de CPU y la cantidad de memoria disponible para un funcionamiento óptimo.
  • Implementa la mayor parte de las funcionalidades principales del estándar SQL, por lo que se pueden utilizar consultas y scripts de otros motores de bases de datos,
  • Incorpora una herramienta gráfica para la administración de las bases de datos de forma fácil e intuitiva, por lo que se pueden ejecutar sentencias SQL y realizar copias de seguridad o tareas de mantenimiento.
  • A pesar de no contar con soporte en línea, existen foros y páginas de ayuda. La comunidad de PostgreSQL es una de las más activas y brinda una ayuda efectiva.

Desventajas de PostgreSQL

  • Puede parecer lento en implementaciones para bases de datos de pequeño y mediano tamaño, ya que está diseñado específicamente para ambientes con alto volumen de datos.
  • La sintaxis de los comandos es relativamente difícil, por lo que requiere conocimientos medios del lenguaje SQL.

Administración de PostgreSQL mediante una interfaz gráfica

La administración de PostgreSQL es posible utilizando diversos programas que nos ofrecen la posibilidad de manejar las bases de datos, mediante una interfaz gráfica. Entre estos programas podemos encontrar:

  • PgAdmin: es el gestor de PostgreSQL. Es fácil de utilizar, intuitivo y compatible con otros sistemas operativos, además de ser gratuito. Corre en diversos entornos como Windows, Linux y MacOS.
  • PhpPgAdmin: herramienta similar a phpMyAdmin. En el menú izquierdo del programa se despliegan los servidores de PostgreSQL disponibles y las bases de datos que contiene cada uno, y del lado derecho tenemos diversas herramientas y funciones como por ejemplo exportar e importar, ajustar privilegios, editar campos, etc.
  • DBeaver: programa para administrar bases de datos, compatible con Postgre. Este gestor está disponible para distintos sistemas operativos y es completamente gratuito.
  • Navicat: administrador de bases de datos. Permite conectarse a bases de datos tanto a nivel local como a servidores remotos.

¿Qué diferencia a PostgreSQL de MySQL?

PostgreSQL versus MySQL.- #RevistaTino
Fig. PostgreSQL versus MySQL
  • PostgreSQL es un sistema de código libre, totalmente gratuito y que está en manos de una comunidad. MySQL por su parte es propiedad de Oracle.
  • En lo que refiere a las consultas, las soportadas por MySQL tienden a ser más simples, mientras que las de PostgreSQL son consultas más complejas.
  • En términos de rendimiento cada uno tiene su situación para brillar. MySQL es mejor si se manejan bajos volúmenes de datos, es decir, si se tiene bases de datos pequeñas o medianas a las cuales se hagan una cantidad de consultas no muy alta. Por su parte, PostgreSQL es mejor a la hora de manejar grandes volúmenes de datos.

Resumiendo, ambos son gratuitos, así que se debe elegir basándose en rendimiento más que nada. Si se desea un sistema para bases de datos medianas o pequeñas y consultas no muy complejas ni muy abundantes, opte por MySQL. De lo contrario PostgreSQL es una mejor opción para manejar un volumen notable de datos.

Referencias bibliográficas

Enlaces relacionados

Versat Sarasola- Un sistema seguro al alcance de la empresa cubana en Número 63 de la Revista Tino

Sistema Gestión de Contenidos en Número 55 de la Revista Tino

*Marbelys Santana Riera. Se graduó en Licenciatura en Educación Especialidad Matemática-Computación en ISP “Juan Marinello” de Matanzas en el año 2000. Recibió el grado de Máster en Nuevas Tecnologías para la Educación en la UNAH “Fructuoso Rodríguez” en 2008. Tiene la Categoría de Profesor Instructor. Es miembro de la Unión de Informáticos de Cuba.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *