Minimal downtime Postgres major version upgrades with EDB Postgres Distributed
A technical guide demonstrating how to perform a minimal-downtime major version upgrade of a PostgreSQL cluster using EDB Postgres Distributed.
Phil Eaton is a staff engineer working on Postgres and software internals, sharing insights on databases, systems engineering, and life deep in the software stack.
152 articles from this blog
A technical guide demonstrating how to perform a minimal-downtime major version upgrade of a PostgreSQL cluster using EDB Postgres Distributed.
A developer shares their 10-year journey from web development to specializing in database engineering, focusing on Postgres and distributed systems.
A guide on improving blog post clarity by identifying and editing confusing sentences, focusing on making technical writing understandable.
Argues that minimal standard libraries in languages like Rust and JavaScript lead to an explosion of transitive dependencies, harming maintainability.
A guide to embedding Python within a Rust application to create a custom test runner, allowing Python scripts to call Rust functions.
A technical guide to setting up and understanding logical replication between two PostgreSQL databases, including setup steps and limitations.
A developer reflects on reaching 1 million blog page views, discussing their blogging journey, static site tooling, and evolution of technical content.
Explores Postgres's MemoryContexts by building an HTTP server inside a Postgres extension to understand memory allocation.
Advises unemployed tech professionals to build projects and blog publicly to showcase skills and subtly signal job availability on social media.
A guide to using the Porcupine library to check for linearizability in distributed systems like registers and key-value stores, implemented in Go.
Phil Eaton explains the core concepts and intuitions behind distributed consensus systems in a technical talk.
A guide to building a simple, serverless ACID database inspired by Delta Lake using Go, focusing on atomic PutIfAbsent for concurrency control.
Explains Deterministic Simulation Testing (DST) for debugging distributed systems by controlling randomness and time in a single-threaded, reproducible test environment.
Explains the limitations of physical and logical replication in Postgres and introduces EDB Postgres Distributed as a solution for production-grade needs.
Analysis of the resurgence of high-quality, technical systems programming meetups and guidance for starting your own.
Explores database durability without write-ahead logs, contrasting in-memory and disk-based approaches to build intuition for WAL design.
Explains the limitations of Large Language Models (LLMs) and introduces Retrieval Augmented Generation (RAG) as a solution for incorporating proprietary data.
A developer argues that embracing confusion leads to deeper technical understanding and valuable blog content.
A software engineer shares practical tips for running low-effort, high-impact software book clubs, covering tools and strategies for in-person and email-based formats.
A tutorial on building a simple database with MVCC to implement and understand the five major SQL transaction isolation levels in 400 lines of code.