Tutorial de PostgreSQL

PostgreSQL es un servidor de bases de datos objeto-relacional (ORDBMS) gratuito, distribuido bajo la flexible licencia BSD.

Los desarrolladores de PostgreSQL lo pronuncian comopost-gress-Q-L。

El eslogan de PostgreSQL es «la base de datos relacional de código abierto más avanzada del mundo».

Contenido de referencia:Manual de PostgreSQL 10.1


¿Qué es una base de datos?

Una base de datos (Database) es un almacén que organiza, almacena y gestiona datos según la estructura de datos.

Cada base de datos tiene una o más API diferentes para crear, acceder, gestionar, buscar y replicar los datos guardados.

También podemos almacenar datos en archivos, pero la velocidad de lectura y escritura de datos en archivos es relativamente lenta.

Por eso, ahora usamos sistemas de gestión de bases de datos relacionales (RDBMS) para almacenar y gestionar grandes cantidades de datos. La llamada base de datos relacional es una base de datos basada en el modelo relacional, que utiliza conceptos y métodos matemáticos como el álgebra de conjuntos para procesar los datos de la base de datos.

ORDBMS (sistema de base de datos objeto-relacional) es el producto de la combinación de la tecnología orientada a objetos con las bases de datos relacionales tradicionales. El procesamiento de consultas es una parte importante de ORDBMS, y su rendimiento afecta directamente al rendimiento del DBMS.

ORDBMS añade algunas características nuevas sobre la base de las bases de datos relacionales originales.

RDBMS es un sistema de gestión de bases de datos relacionales, que establece relaciones entre entidades y finalmente produce tablas relacionales.

OODBMS (object-oriented database management system) es un sistema de gestión de bases de datos orientado a objetos; considera todas las entidades como objetos, encapsula estas clases de objetos, y la comunicación entre objetos se realiza mediante mensajes. OODBMS, base de datos objeto-relacional, en esencia sigue siendo una base de datos relacional.


Terminología de ORDBMS

Antes de empezar a aprender la base de datos PostgreSQL, conozcamos primero algunos términos de ORDBMS:

  • Base de datos:Una base de datos es un conjunto de tablas relacionadas.
  • Tabla de datos:Una tabla es una matriz de datos. Las tablas en una base de datos se ven como una simple hoja de cálculo.
  • Columna:Una columna (elemento de datos) contiene los mismos datos, por ejemplo, datos de códigos postales.
  • Fila:Una fila (= tupla, o registro) es un conjunto de datos relacionados, por ejemplo, un dato de suscripción de un usuario.
  • Redundancia: almacenar el doble de datos; la redundancia reduce el rendimiento, pero aumenta la seguridad de los datos.
  • Clave primaria: La clave primaria es única. Una tabla de datos solo puede contener una clave primaria. Puedes usar la clave primaria para consultar datos.
  • Clave foránea:La clave foránea se usa para relacionar dos tablas.
  • Clave compuesta: La clave compuesta (clave combinada) utiliza varias columnas como una clave de índice, generalmente para índices compuestos.
  • Índice:El uso del índice permite acceder rápidamente a información específica en las tablas de la base de datos. Un índice es una estructura que ordena los valores de una o más columnas de una tabla de base de datos. Es similar al índice de un libro.
  • Integridad referencial:La integridad referencial exige que no se permita hacer referencia a entidades inexistentes en una relación. Junto con la integridad de entidad, son condiciones de integridad que debe cumplir el modelo relacional, con el objetivo de garantizar la consistencia de los datos.

Características de PostgreSQL

  • Funciones: A través de las funciones, se pueden ejecutar programas de instrucciones en el servidor de la base de datos.

  • Índices: Los usuarios pueden personalizar métodos de índice, o usar los índices integrados de árbol B, tabla hash y GiST.

  • Disparadores: Un disparador es un evento activado por una consulta de sentencia SQL. Por ejemplo: una sentencia INSERT puede activar un disparador que verifica la integridad de los datos. Los disparadores generalmente se activan mediante sentencias INSERT o UPDATE.

  • Control de concurrencia multiversión:PostgreSQL utiliza el sistema de control de concurrencia multiversión (MVCC, Multiversion concurrency control) para el control de concurrencia. Este sistema proporciona a cada usuario una «instantánea» de la base de datos; cada modificación que un usuario hace dentro de una transacción es invisible para otros usuarios hasta que la transacción se confirma correctamente.

  • Reglas: Las reglas (RULE) permiten reescribir una consulta, y generalmente se usan para implementar operaciones sobre vistas (VIEW), como inserción (INSERT), actualización (UPDATE) y eliminación (DELETE).

  • Tipos de datos: Incluyen texto, arreglos de valores numéricos de precisión arbitraria, datos JSON, tipos enumerados, datos XML

    etc.
  • Búsqueda de texto completo: Mediante Tsearch2 u OpenFTS; en la versión 8.3, Tsearch2 está integrado.

  • NoSQL: Soporte nativo para JSON, JSONB, XML, HStore, y envoltorios de datos externos para bases de datos NoSQL.

  • Almacén de datos: Puede migrar sin problemas a GreenPlum, DeepGreen, HAWK, etc., que pertenecen al ecosistema PostgreSQL, utilizando FDW para ETL.


Recursos relacionados

Manual de PostgreSQL 10.1, manual en línea:http://www.example.com/manual/PostgreSQL/

Manual sin conexión - Versión PDF:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, código de extracción:xs7r。

Manual sin conexión - Versión CHM:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, código de extracción:tq4z。

Ver la última versión:https://github.com/postgres-cn/pgdoc-cn/releases

Otras extensiones