¿Qué es PostgreSQL? ¿Cómo funciona PostgreSQL?


PostgreSQL es el sistema de gestión de bases de datos de código abierto de clase empresarial más avanzado del mundo desarrollado por PostgreSQL Global Development Group. Es un sistema de base de datos SQL (lenguaje de consulta estructurado) potente y altamente extensible, popular por su confiabilidad, solidez de funciones y alto rendimiento. Se sabe que es altamente escalable tanto en la cantidad de datos que puede almacenar y administrar como en la cantidad de usuarios simultáneos que puede acomodar.

PostgreSQL está disponible y distribuido bajo la licencia PostgreSQL, una licencia liberal de código abierto. Esto implica que puede descargar el software, utilizarlo, modificarlo y distribuirlo de forma gratuita para cualquier propósito. También es multiplataforma, se ejecuta en Linux, Windows y macOS, y en muchos otros sistemas operativos.

  • Descarga PostgreSQL 12

Utiliza y amplía el lenguaje SQL con tantas funciones potentes y modernas. Aunque es compatible con SQL donde se admiten muchas de las características requeridas por el estándar SQL (la última versión de PostgreSQL es 12 en el momento de escribir este artículo confirma al menos 160 de las 179 características obligatorias para SQL), existen algunas ligeras variaciones en sintaxis o función.

PostgreSQL utiliza un modelo cliente-servidor en el que el cliente y el servidor pueden residir en diferentes hosts en un entorno de red. El programa servidor administra los archivos de la base de datos, acepta conexiones a la base de datos desde aplicaciones cliente. Puede manejar múltiples conexiones simultáneas de clientes "bifurcando" un nuevo proceso para cada conexión. Ejecuta las solicitudes de base de datos de los clientes y envía los resultados a los clientes. Los clientes remotos pueden conectarse a través de la red o Internet al servidor.

Los programas de cliente válidos incluyen herramientas orientadas a texto que se envían con PostgreSQL, una herramienta gráfica, o aplicaciones desarrolladas con otros lenguajes de programación.

Características clave de PostgreSQL

PostgreSQL admite varios tipos de datos, incluidos primitivos (como cadena, entero, numérico y booleano), estructurado (como fecha/hora, matriz, rango y UUID), documento (JSON, JSONB, XML, valor clave (Hstore) ), geometría (punto, línea, círculo y polígono) y personalizaciones (tipos compuestos y personalizados). Es compatible con la integridad de los datos mediante funciones como ÚNICO, NO NULO, claves primarias y externas, restricciones de exclusión, bloqueos explícitos y de aviso.

  • Está construido para la simultaneidad y el rendimiento usando muchas características que incluyen indexación e indexación avanzada, transacciones y transacciones anidadas, control de simultaneidad de múltiples versiones (MVCC), paralelización de consultas de lectura y construcción de índices de árbol B, particionamiento de tablas, Just -Recopilación de expresiones en tiempo (JIT) y más.
  • Para garantizar confiabilidad, redundancia de datos, alta disponibilidad y recuperación ante desastres, PostgreSQL ofrece características como registro de escritura anticipada (WAL), replicación maestro-esclavo, espera activa y recuperación puntual en el tiempo (PITR), y mucho más. Todos estos permiten la implementación de un clúster de base de datos de múltiples nodos que puede almacenar y administrar grandes volúmenes (terabytes) de datos y sistemas especializados que administran petabytes.
  • Es importante destacar que PostgreSQL también es muy extensible de muchas maneras. Para ampliarlo, puede utilizar funciones y procedimientos almacenados, lenguajes de procedimiento que incluyen PL/PGSQL, Perl, Python, expresiones de ruta SQL/JSON, envoltorios de datos externos y más. También puede ampliar su funcionalidad principal utilizando muchas extensiones desarrolladas por la comunidad.
  • La seguridad también está en el corazón de Postgres. Para proteger sus bases de datos, ofrece varias formas de autenticación (incluyendo GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificado, etc.), un sólido sistema de control de acceso, seguridad a nivel de columna y fila, así como múltiples factor de autenticación con certificados y un método adicional. Sin embargo, una buena seguridad del servidor de bases de datos siempre debe comenzar en la red y en la capa del servidor.

Clientes y herramientas de PostgreSQL

PostgreSQL proporciona y admite muchas aplicaciones cliente para la administración de bases de datos, como la utilidad de línea de comandos interactiva psql y pgadmin, una interfaz web basada en PHP para la administración de bases de datos (que es la forma más preferida).

Para usar bases de datos PostgreSQL para almacenar datos para sus aplicaciones, puede conectar sus aplicaciones usando cualquiera de las bibliotecas o controladores compatibles, disponibles para los lenguajes de programación más populares. libpq es una interfaz de programador de aplicaciones C popular para PostgreSQL, es el motor subyacente para varias otras interfaces de aplicaciones de PostgreSQL.

PostgreSQL se utiliza en RedHat, Debian, Apple, Sun Microsystem, Cisco y muchas otras empresas y organizaciones.

Consulte estas guías relacionadas para configurar su aplicación con la base de datos PostgreSQL en Linux.

  • Cómo instalar PostgreSQL en RHEL 8
  • Cómo instalar PostgreSQL y pgAdmin en CentOS 8
  • Cómo instalar la base de datos PostgreSQL en Debian 10
  • Cómo instalar PgAdmin 4 Debian 10
  • Cómo instalar y usar PostgreSQL en Ubuntu 18.04
  • Cómo instalar PostgreSQL con PhpPgAdmin en OpenSUSE