¿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, robustez 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 alojar.

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.

  • Download 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 usa un modelo cliente-servidor donde el cliente y el servidor pueden residir en diferentes hosts en un entorno de red. El programa servidor gestiona los archivos de la base de datos, acepta conexiones a la base de datos desde aplicaciones cliente. Puede manejar múltiples conexiones concurrentes 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.

  • It is built for concurrency and performance using many features that include indexing and advanced indexing, transactions and nested transactions, multi-version concurrency control (MVCC), parallelization of reading queries, and building B-tree indexes, table partitioning, Just-In-Time (JIT) compilation of expressions, and more.
  • To ensure reliability, data redundancy, high availability, and disaster recovery, PostgreSQL offers features such as write-ahead logging (WAL), master-slave replication, active standbys, and point-in-time-recovery (PITR), and much more. These all allow for multi-node database cluster deployment which can store and manage large volumes(terabytes) of data, and specialized systems that manage petabytes.
  • Importantly, PostgreSQL is also very extensible in so many ways. To extend it, you can use stored functions and procedures, procedural languages including PL/PGSQL, Perl, Python, SQL/JSON path expressions, foreign data wrappers, and more. You can also extend its core functionality using many extensions developed by the community.
  • Security is also at the heart of Postgres. To protect your databases, it offers various forms of authentication(including GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate, etc.), a robust access control system, column, and row-level security, as well as multi-factor authentication with certificates and an additional method. However, good database server security should always start at the network and server layer.

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 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.

  • How to Install PostgreSQL in RHEL 8
  • How to Install PostgreSQL and pgAdmin in CentOS 8
  • How to Install PostgreSQL Database in Debian 10
  • How to Install PgAdmin 4 Debian 10
  • How to Install and Use PostgreSQL on Ubuntu 18.04
  • How to Install PostgreSQL with PhpPgAdmin on OpenSUSE