Skip to content

Objetos de base de datos explicados

Todos los objetos de esquema básicos de PostgreSQL — estructura, tablas, vistas, índices, tipos, identidad, rutinas, seguridad y replicación — en una sola referencia densa.

PostgreSQL almacena los datos en objetos de esquema con nombre. Cada objeto tiene una función: una tabla guarda filas, un índice acelera las búsquedas, una rutina contiene lógica. Conoce qué es cada objeto antes de decidir cuál añadir, y trata las restricciones y las políticas como las reglas que mantienen los datos honestos.

Tabla de referencia · 45 entradas
45 of 45 rows
Estructura
Un catálogo aislado de esquemas dentro de un clúster.Separar aplicaciones o entornos que no deben compartir datos.
Un espacio de nombres con nombre dentro de una base de datos que agrupa objetos relacionados.Organizar objetos por función o propietario y evitar choques de nombres.
Una ubicación con nombre en el disco donde se colocan los archivos de tablas e índices.Dirigir tablas calientes a almacenamiento rápido y mantener datos fríos en discos baratos.
El parámetro que decide a qué esquemas resuelve un nombre de objeto sin calificar.Apuntar una sesión al esquema correcto para que las consultas usen nombres cortos.
Una descripción guardada en cualquier objeto de la base de datos con COMMENT ON.Documentar tablas y columnas donde las encontrará quien escriba la próxima consulta.
Tablas y vistas
Una relación con nombre que almacena filas en columnas tipadas.El contenedor principal para los datos persistentes.
Una tabla cuyas filas desaparecen al final de la sesión o de la transacción.Mantener datos de borrador o de staging que no deben sobrevivir a la conexión.
Una tabla padre dividida en particiones hijas según una clave declarada.Mantener manejables tablas muy grandes repartiendo las filas por rangos o listas.
Una tabla cuyas filas viven en un sistema externo, alcanzado a través de un foreign data wrapper.Consultar una base de datos o un archivo remoto como si fuera una tabla local.
Una consulta almacenada expuesta como tabla virtual.Presentar las mismas filas con distintos filtros o joins.
Una vista simple que reenvía INSERT, UPDATE y DELETE a su tabla base.Exponer un fragmento filtrado o con joins de una tabla que sigue siendo escribible.
Una vista cuyo conjunto de resultados se escribe en disco y se refresca bajo demanda.Cachear agregados o joins costosos y leerlos rápido.
Una función que devuelve un conjunto de filas utilizable donde quiera que encaje una tabla.Expandir un conjunto calculado en el sitio, como unnest convierte un array en filas.
Índices
Un índice de árbol equilibrado para búsquedas de igualdad y de rango.Acelerar WHERE, JOIN y ORDER BY en columnas ordenables.
Un índice que rechaza valores duplicados en su clave.Imponer unicidad en una columna o combinación de columnas.
Índices invertidos o de árbol de búsqueda generalizado para valores no escalares.Indexar arrays, JSONB, búsqueda de texto completo o datos geométricos.
Un índice construido solo sobre las filas que cumplen una cláusula WHERE.Indexar el subconjunto caliente y saltarse el resto para ahorrar espacio.
Tipos y extensiones
Un tipo definido por el usuario cuyos valores provienen de una lista fija de etiquetas.Restringir una columna a un conjunto cerrado, como códigos de estado.
Un tipo base más una restricción check, con nombre para reutilizarlo como tipo de columna.Compartir una definición validada, como un text no vacío, entre muchas columnas.
Un conjunto de reglas que define cómo se comparan y ordenan las cadenas.Obtener el orden correcto para mayúsculas, acentos o una configuración regional concreta.
Un paquete instalable que añade funciones, tipos u operadores a una base de datos.Adoptar herramientas probadas como PostGIS o pg_trgm en un solo paso.
Identidad y valores generados
Un objeto contador independiente que produce enteros sucesivos.Alimentar una clave serial cuando varias tablas comparten un generador.
Una columna de tabla respaldada por una secuencia interna, según el estándar SQL.Clave primaria autoincremental moderna, preferida sobre SERIAL.
Una columna cuyo valor se calcula a partir de otras columnas de la misma fila.Almacenar o exponer un valor derivado sin escrituras manuales.
Rutinas
Un bloque SQL con nombre que devuelve un valor o filas.Encapsular lógica reutilizable y llamarla dentro de las consultas.
Un bloque con nombre que ejecuta acciones y controla su propia transacción.ETL de varios pasos donde la rutina hace commit o rollback internamente.
Una rutina que pliega muchas filas de entrada en un valor mediante funciones de estado y final.Definir reducciones personalizadas, como una media ponderada.
Un símbolo ligado a una o más funciones para tipos de operandos específicos.Dar a tus propios tipos una sintaxis natural como a + b o @>.
Una ruta de conversión declarada de un tipo a otro.Controlar cómo cambian de tipo los valores, incluidas las conversiones implícitas.
Una rutina ligada a un evento de tabla que se dispara automáticamente.Auditar, validar o encadenar cambios en INSERT, UPDATE o DELETE.
Un trigger que se dispara en eventos a nivel de base de datos, como comandos DDL.Registrar, bloquear o auditar cambios de esquema en toda la base de datos.
Una consulta analizada y guardada para ejecución repetida con parámetros ligados.Reutilizar un análisis y un plan en muchas ejecuciones de la misma consulta.
Un manejador que mantiene un conjunto de resultados abierto para recuperación fila a fila.Paginar resultados grandes o recorrer filas dentro de una rutina.
Seguridad y reglas
Una identidad con nombre que posee privilegios; un usuario es un rol que puede iniciar sesión.Agrupar permisos una vez y concederlos a personas, servicios u otros roles.
Sentencias que asignan privilegios sobre objetos a roles, o los retiran.Decidir qué rol puede leer, escribir o ejecutar cada objeto.
Los derechos integrados del creador para alterar o eliminar un objeto, separados de los grants.Nombrar el rol responsable del ciclo de vida de un objeto.
Una instrucción permanente que concede automáticamente privilegios sobre objetos que un rol cree después.Preconfigurar derechos para que las tablas nuevas no necesiten grants manuales para el rol de la app.
Una regla que rechaza escrituras que violen una condición declarada.Imponer las garantías NOT NULL, CHECK, UNIQUE, PRIMARY KEY y FOREIGN KEY.
Una regla por rol que oculta las filas que la sesión no debe ver.Aislar inquilinos o dar acceso por usuario sin reescribir las consultas de la aplicación.
Un alias que resuelve un nombre hacia un objeto en otro lugar; nativo en Oracle y SQL Server.Portar esquemas; en PostgreSQL usa search_path en su lugar.
Una definición de qué acciones se registran para revisión, mediante pgaudit o herramientas del proveedor.Demostrar quién leyó o cambió qué, para cumplimiento e investigación.
Una instrucción que reescribe una consulta entrante en otro comando.Redirección de escrituras heredada; PostgreSQL hoy prefiere triggers o vistas actualizables.
Replicación
Una definición del lado emisor de qué tablas y tipos de cambios se envían a las réplicas.Declarar lo que una base de datos ofrece a los suscriptores de la replicación lógica.
Un receptor que se conecta a una publicación y aplica sus cambios en tablas locales.Traer cambios desde otra base de datos PostgreSQL a esta.
Un marcador que hace que el primario retenga el WAL hasta que un consumidor lo haya leído.Garantizar que un standby o un suscriptor pueda reanudarse sin perder cambios.