This section is the map for the rest of the book. The five stages introduced in the 1.1 chapter overview (parse, analyze/rewrite, plan, portal, execute) are traced here through the actual code: which functions implement each stage, and in what order they get called. The mechanics of each of the five stages are unpacked in later chapters. Here, only the skeleton matters: how a backend starts up, ho
PostgreSQL Internals · Chapter 1 Query Processing Suppose a client sends SELECT * FROM users WHERE id = 1. The path that single line travels before coming back as a result row is longer than you might expect. Inside the PostgreSQL backend, that SQL goes through a five-stage pipeline. Backend entry and dispatch. The backend receives the message from the client and decides which processing path it s
SQL is widely known for data querying and manipulation but systems do grow; data becomes larger; processes become repetitive and operations become sensitive. SQL has some features which enables it to be considered a fully fledged programming language. Some of the features which I discuss in this article are procedures, functions and transactions. Each of these concepts serve distinct purposes. Sto
Introduction Placing RDS in a private subnet protects it from unauthorized external access — but it also means you can no longer connect directly from your developer machine. This article walks you through a step-by-step guide to securely connect to a private-subnet RDS (PostgreSQL) instance using AWS Client VPN. Developer PC │ │ UDP 443 (TLS / Mutual Certificate Authentication) ▼ Client
Billing code is the most dangerous place to have subtle bugs. It rarely crashes — it just silently does the wrong thing. Here are two we found and fixed in ClipCrafter, an AI video clip extraction tool. We track how many seconds of video each user processes per day to enforce plan limits. The original increment looked like this: const { data } = await db .from("users") .select("daily_usage_sec
Power BI is a powerful business analytics service developed by Microsoft that empowers users to visualise data and share interactive dashboards across their organisation. While Power BI can handle data from various sources, its true potential is unleashed when connected to robust data sources like SQL databases. SQL databases—such as PostgreSQL, MySQL, and SQL Server—are the industry standard for
Imagine you run a bustling coffee shop. In the beginning, you take orders, make the coffee, and serve pastries all by yourself. It works perfectly when you have a handful of customers. But as the crowd grows, you become the single point of failure. If you are stuck making a complex latte, the simple drip coffee line grinds to a halt. In software engineering, this "one-person shop" represents a mon
ID generation looks like a small backend decision. In many systems, we simply add an id column, make it the primary key, and move on. But once the table grows, this decision can affect database performance, indexing, pagination, debugging, and how easily the system scales across services. The common choices are: UUIDv4 UUIDv7 Snowflake ID Each one solves the uniqueness problem, but they behave dif