- Prólogo
- Prefacio
-
1. El recorrido completo
- La visión global: de SQL a resultados
- Visión general de la arquitectura de PostgreSQL
- Configuración del entorno
- Comienza el recorrido: envío de la consulta
- El pipeline de procesamiento
-
2. Conexiones y comunicación
- El proceso postmaster
- Flujo de establecimiento de conexiones
- Autenticación y seguridad
- El wire protocol
- Ciclo de vida de las conexiones y gestión de recursos
-
3. Parsing de SQL
- Análisis léxico
- Análisis sintáctico
-
4. Análisis semántico
- Más allá de la sintaxis: la misión del analyzer
- El ParseState: seguimiento del contexto del análisis
- Resolución de nombres
- Comprobación de tipos y coerción
- Validación de permisos y seguridad
- Construcción del query tree
-
5. Reescritura de consultas
- Reglas y transformaciones
- El sistema de reglas
- Aplicación de políticas de seguridad
-
6. El planificador de consultas
- Optimización basada en costes: la base de la planificación
- Estadísticas: comprendiendo la distribución de datos
- Generación de caminos y planificación de joins
- Construcción del plan final
-
7. Optimización Lógica de Consultas
- Aplanamiento de la Estructura de la Consulta
- Simplificación de Expresiones
- Reestructuración de Joins
- Pushdown de Predicados
- Optimización de la Agregación
-
8. Ejecución de Consultas
- El Modelo de Ejecución Volcano
- Acceso a Datos a Nivel de Página
- Cuando los Datos No Caben en Memoria
- Evaluación de Expresiones
- Ejecución en Paralelo
-
9. Internals de los Indexes
- Infraestructura de los Indexes
- B-tree: El Campeón de Propósito General
- Hash: El Especialista en Igualdad
- GiST: El Genio Geométrico
- GIN: El Maestro del Índice Invertido
- SP-GiST: El Particionador de Espacio
- BRIN: El Block Range Index
-
10. Almacenamiento, MVCC y Gestión del Buffer
- Almacenamiento a Nivel de Página
- MVCC e Integración con el Almacenamiento
- El Shared Buffer Pool
-
11. Procesamiento y Retorno de Resultados
- De la Ejecución al Wire
- Mensajes de Resultado y Buffering de Red
- Finalización de Transacciones
- Manejo de Errores
-
12. Lectura de Planes de Consulta
- Preparación de los Ejemplos
- EXPLAIN: El Árbol del Plan
- EXPLAIN ANALYZE: Estimaciones Frente a Realidad
- Nodos de Escaneo
- Nodos de Join
- Nodos de Ordenación y Agregación
- Palabras Finales
Anatomía de una consulta SQL
Un Viaje a Través del Procesamiento de Consultas de PostgreSQL
¿Qué ocurre realmente cuando PostgreSQL ejecuta tu consulta? Sigue una sentencia SQL a través de cada etapa del pipeline interno de PostgreSQL —desde el texto sin procesar hasta los resultados devueltos— y adquiere ese conocimiento profundo que transformará la forma en que escribes, optimizas y depuras aplicaciones de bases de datos.
Minimum price
$9.99
$15.00
You pay
$15.00Author earns
$12.00About
About the Book
¿Alguna vez te has preguntado qué ocurre realmente dentro de PostgreSQL cuando ejecutas una consulta SQL? Detrás de una simple sentencia SELECT se esconde un sofisticado pipeline que involucra análisis sintáctico, análisis semántico, reescritura de consultas, optimización basada en costes y un motor de ejecución basado en el modelo pull, todo construido sobre décadas de investigación en bases de datos.
Deep Dive Into a SQL Query te lleva en un recorrido completo por los mecanismos internos del procesamiento de consultas de PostgreSQL. Desde el momento en que un cliente establece una conexión, seguirás una consulta a través de cada etapa del pipeline: análisis léxico y sintáctico, validación semántica contra el catálogo del sistema, reescritura basada en reglas, optimización del plan basada en costes y ejecución basada en iteradores. A lo largo del camino, explorarás cómo PostgreSQL gestiona la memoria, organiza los datos en disco, coordina el acceso concurrente y devuelve los resultados al cliente.
Este libro está escrito para ingenieros de software de nivel intermedio a senior que utilizan bases de datos a diario pero quieren entender qué sucede por debajo de la interfaz SQL. Cada detalle técnico está fundamentado en el código fuente real de PostgreSQL, sin abstracciones ni explicaciones vagas. Al terminar, escribirás mejores consultas, diagnosticarás problemas de rendimiento con confianza y entenderás por qué PostgreSQL se comporta como lo hace.
Author
About the Author
Hi! I’m Jesús Espino, a software developer passionate about understanding how things work under the hood.
My Background
I’m currently working as a software developer at Ona (formerly Gitpod), a cloud development platform that provides AI-powered software engineering agents and sandboxed development environments for teams. Over the years, I’ve worked with various programming languages and technologies, but my primary focus has been on Go and JavaScript/TypeScript, particularly in web and API development.
My Passion
What drives me is the intersection of two things:
- Learning how things work - I love diving deep into the internals of the tools and systems we use every day
- Sharing knowledge - Making complex topics accessible and understandable for others
I believe that understanding how systems work internally doesn’t require you to be an expert or have years of low-level programming experience. What you need is someone to guide you through the general concepts—the “how it ticks” part—so you can build a mental model of what’s actually happening.
Translations
Translations
Languages
Contents
Table of Contents
Get the free sample chapters
Click the buttons to get the free sample in PDF or EPUB, or read the sample online here
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them
Write and Publish on Leanpub
You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!
Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.
Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.