1/41
Tarjetas de vocabulario técnico sobre administración de bases de datos, tareas del DBA en PostgreSQL y principios de gestión de almacenamiento, archivos e índices.
LOGIN (Atributo de rol)
Atributo que confiere a un rol en PostgreSQL la facultad de autenticarse e iniciar sesión en el servidor, funcionando formalmente como un usuario.
WITH GRANT OPTION
Cláusula que faculta al usuario o rol receptor de un privilegio a delegar o transferir ese mismo permiso a otros usuarios o roles de la base de datos.
pg_hba.conf
Archivo principal de PostgreSQL encargado del control de acceso y autenticación a nivel de conexión cliente, cuyas directivas se evalúan secuencialmente de arriba hacia abajo.
Row Level Security (RLS)
Mecanismo de seguridad que implementa políticas de acceso granulares a nivel de fila o tupla individual dentro de una tabla de base de datos.
DEFERRABLE INITIALLY DEFERRED
Modificador de restricción de integridad que pospone la validación de llaves foráneas hasta la ejecución de la instrucción COMMIT al cierre de la transacción.
Respaldo lógico
Método de copia de seguridad (generado con pg_dump o pg_dumpall) que exporta sentencias y estructuras de datos portables entre distintas versiones del motor.
Respaldo físico
Copia directa a bajo nivel de los archivos binarios de datos y bitácoras del cluster (usando pg_basebackup), necesaria para recuperaciones en servidores grandes y PITR.
Write Ahead Log (WAL)
Bitácora en disco donde se registran cronológicamente todas las operaciones antes de plasmarse en las páginas de datos, sirviendo de base para la durabilidad y PITR.
Point In Time Recovery (PITR)
Técnica de restauración que combina un respaldo físico base con la reproducción secuencial de registros WAL hasta un timestamp específico determinado.
pg_stat_activity
Vista del catálogo de PostgreSQL que monitorea dinámicamente conexiones activas, procesos cliente, estados de sesión y sentencias SQL en curso.
EXPLAIN ANALYZE
Comando que ejecuta una sentencia SQL midiendo y contrastando los tiempos reales de CPU y accesos a buffers contra las estimaciones del optimizador.
VACUUM
Comando de mantenimiento en PostgreSQL que reclama y reutiliza el espacio físico ocupado por versiones de tuplas obsoletas o marcadas como eliminadas.

Componentes físicos de un disco magnético
Mecanismo compuesto por pistas (tracks), sectores/bloques, cabezas de lectura/escritura (read/write head), brazo (arm), eje rotatorio (spindle) y actuador.
Tiempo de búsqueda (Seek time)
Intervalo requerido por el actuador mecánico para mover la cabeza de lectura/escritura hasta la pista específica donde reside el bloque de datos.
Retraso rotacional (Rotational delay)
Tiempo que tarda la rotación del plato del disco magnético en posicionar el sector correspondiente debajo de la cabeza lectora.
RAID
Arreglo redundante de discos independientes que combina múltiples unidades físicas para operar como un único disco lógico de alto rendimiento y tolerancia a fallos.
Storage Area Network (SAN)
Red de alta velocidad que interconecta servidores con nodos de almacenamiento dedicados a distancias de hasta 10km mediante enlaces de fibra óptica.
Bucket
Unidad o cubeta de almacenamiento dividida en bloques en un archivo de hash, cuya dirección de asignación se determina mediante una función i=h(K).
Índice denso
Estructura de indización que contiene una entrada por cada registro existente en el archivo de datos principal.
Índice disperso
Estructura de indización auxiliar que incluye entradas únicamente para un subconjunto selecto de registros del archivo de datos, comúnmente una por bloque.
Ancla del bloque (Block anchor)
Primer o último registro contenido dentro de un bloque físico, cuyo valor del campo clave se almacena en el índice primario para referenciar al bloque entero.
Índice primario
Índice disperso de un solo nivel definido sobre un archivo ordenado secuencialmente por un campo clave, con una entrada por cada bloque de datos.
Índice de agrupación (Clustering index)
Índice disperso definido sobre un archivo ordenado físicamente por un campo que no es clave, con una entrada por cada valor distinto apuntando al primer bloque correspondiente.
Índice secundario
Índice denso auxiliar construido sobre un campo que puede o no ser clave candidata, proporcionando una vía alternativa de búsqueda para archivos previamente ordenados.
Árbol B+
Estructura jerárquica multinivel balanceada donde los nodos internos alojan únicamente claves separadoras y apuntadores, mientras los nodos hoja conservan todas las claves, punteros a datos y enlaces secuenciales entre sí.
Orden del árbol (d)
Número máximo de hijos o apuntadores que puede contener un nodo interno dentro de una estructura de árbol B+.

Estructura interna de una página de datos en PostgreSQL
Diseño físico de 8KB organizado con PageHeaderData (24bytes), ItemIds de 4bytes que crecen hacia abajo, espacio libre, filas que crecen hacia arriba y special space final.
Heap (PostgreSQL)
Organización física base compuesta por páginas de datos donde las tuplas o filas se almacenan sin garantizar ningún ordenamiento por clave.
CTID
Identificador único de una tupla en el heap de PostgreSQL expresado como un par formado por el número de página física y el índice del ItemId correspondiente.
TOAST
Mecanismo interno de almacenamiento que comprime y fragmenta atributos que exceden el tamaño de página para conservarlos fuera de la fila principal en tablas auxiliares.

Free Space Map (FSM)
Estructura física organizada como un árbol de máximos que utiliza 1byte por página para rastrear el espacio libre y optimizar la inserción de nuevas tuplas.
Visibility Map (VM)
Estructura de mapa de bits con dos bits por página (all-visible y all-frozen) empleada para evitar accesos al heap en Index-Only Scans y saltar páginas seguras en VACUUM.
Fork (PostgreSQL)
Bifurcación o archivo físico asociado a una relación en disco, subdividido en main (datos), fsm (espacio libre), vm (visibilidad) e init (estado inicial unlogged).
Partition pruning
Optimización del planificador que analiza los predicados WHERE para omitir la lectura de particiones físicas que no albergan los datos consultados.
B-Tree (PostgreSQL)
Método de acceso indizado por defecto basado en árboles B+, compatible con búsquedas de igualdad, rangos, recuperación ordenada y restricciones UNIQUE.
GIN (Generalized Inverted Index)
Índice invertido diseñado para estructurar datos con múltiples elementos o componentes internos, ampliamente utilizado en arrays, texto completo (tsvector) y jsonb.
GiST (Generalized Search Tree)
Infraestructura jerárquica de indización extensible orientada a datos geométricos, rangos multidimensionales y consultas de proximidad donde las regiones pueden solaparse.
SP-GiST (Space-Partitioned GiST)
Esquema de indización de particionamiento del espacio que implementa árboles no balanceados sin solapamiento, como quadtrees, k-d trees y tries.
BRIN (Block Range Index)
Método de indización liviano que almacena valores de resumen (mínimos y máximos) por rangos de bloques continuos para tablas masivas con fuerte correlación física.
Índice parcial
Índice generado sobre una tabla que abarca exclusivamente las tuplas que satisfacen el predicado booleano definido en una cláusula WHERE.
Índice compuesto
Estructura de indización construida sobre dos o más columnas de una tabla, cuyo orden jerárquico de definición determina su utilidad en las búsquedas.
Baja física
Procedimiento de supresión de registros donde las tuplas posteriores se desplazan físicamente hacia atrás en el archivo binario y el tamaño en disco se recorta mediante truncate().