the build
All Your GUCs in a Row: default_table_access_method
All Your GUCs in a Row: default_statistics_target
How the Other Half Plans
All Your GUCs in a Row: the debug_* family
All Your GUCs in a Row: deadlock_timeout
All Your GUCs in a Row: DateStyle
How the Other Half Counts
All Your GUCs in a Row: data_sync_retry
All Your GUCs in a Row: data_directory_mode
All Your GUCs in a Row: data_directory
All Your GUCs in a Row: data_checksums
All Your GUCs in a Row: cursor_tuple_fraction
All Your GUCs in a Row: createrole_self_grant
Managed Postgres, Examined: Azure Database for PostgreSQL Flexible Server
All Your GUCs in a Row: cpu_index_tuple_cost, cpu_operator_cost, and cpu_tuple_cost
SQL/PGQ in PostgreSQL 19: Graph Queries Without the Graph Database
All Your GUCs in a Row: constraint_exclusion
All Your GUCs in a Row: config_file
All Your GUCs in a Row: compute_query_id
Open-Source TDE for PostgreSQL: What pg_tde Is, and Whether You Need It
All Your GUCs in a Row: commit_timestamp_buffers
Twenty Years, Three CVEs, One AI
All Your GUCs in a Row: commit_delay and commit_siblings
REPACK CONCURRENTLY: pg_squeeze Gets a Promotion
All Your GUCs in a Row: cluster_name
Managed Postgres, Examined: Google AlloyDB for PostgreSQL
What Else Is In There?
All Your GUCs in a Row: client_min_messages
All Your GUCs in a Row: client_connection_check_interval
A Correction: Snowflake Postgres Is Just Postgres
A Correction: Snowflake Postgres Is Just Postgres
All Your GUCs in a Row: client_encoding
All Your GUCs in a Row: client_encoding
All Your GUCs in a Row: checkpoint_flush_after and checkpoint_warning
All Your GUCs in a Row: checkpoint_flush_after and checkpoint_warning
pgvector 0.8.2 and the Trouble With Parallel HNSW
pgvector 0.8.2 and the Trouble With Parallel HNSW
All Your GUCs in a Row: checkpoint_timeout and checkpoint_completion_target
All Your GUCs in a Row: checkpoint_timeout and checkpoint_completion_target
Patch Today: CVE-2026-6473
Patch Today: CVE-2026-6473
All Your GUCs in a Row: check_function_bodies
All Your GUCs in a Row: check_function_bodies
Table Access Methods Wake Up
Table Access Methods Wake Up
All Your GUCs in a Row: bytea_output
All Your GUCs in a Row: bytea_output
Patch PgBouncer Today
Patch PgBouncer Today
All Your GUCs in a Row: bonjour and bonjour_name
All Your GUCs in a Row: bonjour and bonjour_name
PostgreSQL 19 Beta: The Four Features You’ll Actually Feel
PostgreSQL 19 Beta: The Four Features You’ll Actually Feel
All Your GUCs in a Row: block_size
All Your GUCs in a Row: block_size
All Your GUCs in a Row: bgwriter_lru_maxpages and bgwriter_lru_multiplier
All Your GUCs in a Row: bgwriter_lru_maxpages and bgwriter_lru_multiplier
All Your GUCs in a Row: bgwriter_delay and bgwriter_flush_after
All Your GUCs in a Row: bgwriter_delay and bgwriter_flush_after
Two Decades, Two RCEs: What pgcrypto Has Been Doing Since 2005
Two Decades, Two RCEs: What pgcrypto Has Been Doing Since 2005
All Your GUCs in a Row: backtrace_functions
All Your GUCs in a Row: backtrace_functions
Eleven CVEs Walk Into a Release
Eleven CVEs Walk Into a Release
PARTITION MERGE/SPLIT, Once More With Locking
PARTITION MERGE/SPLIT, Once More With Locking
All Your GUCs in a Row: backslash_quote
Twenty Years in pgcrypto
All Your GUCs in a Row: backend_flush_after
Snowflake Postgres, Lakebase, HorizonDB: Picking the Lock-In You Want
Managed Postgres, Examined: Google Cloud SQL for PostgreSQL
All Your GUCs in a Row: autovacuum_worker_slots
The wal_level You Set Is Not the wal_level You Get
All Your GUCs in a Row: autovacuum_work_mem
All Your GUCs in a Row: autovacuum_vacuum_scale_factor and autovacuum_vacuum_threshold
All Your GUCs in a Row: autovacuum_vacuum_max_threshold
A Field Guide to Alternative Storage Engines for PostgreSQL
pg_lake vs Lakebase: Two Very Different Things Called “Postgres + Lakehouse”
All Your GUCs in a Row: autovacuum_vacuum_insert_scale_factor and autovacuum_vacuum_insert_threshold
The Maintainer Is Not the Owner
Eight Bytes Is the Easy Part
All Your GUCs in a Row: autovacuum_naptime, autovacuum_vacuum_cost_delay, autovacuum_vacuum_cost_limit
Christophe’s Seven Rules of Disaster Reponse
MultiXact Members at 64 Bits: One Less Wraparound to Worry About
What a Data Lake Actually Is (and why you probably don’t need one)
All Your GUCs in a Row: autovacuum_multixact_freeze_max_age
Managed Postgres, Examined: Amazon Aurora PostgreSQL
All Your GUCs in a Row: autovacuum_max_workers
Client Advisory: pgBouncer CVE-2025-12819
Failover Slots, Two Years On
PgQue: Two Snapshots and a Diff
All Your GUCs in a Row: autovacuum_freeze_max_age
All Your GUCs in a Row: autovacuum_analyze_scale_factor and autovacuum_analyze_threshold
wal_sender_shutdown_timeout: Now Actually a Timeout
All Your GUCs in a Row: autovacuum
Two Hundred and Twelve Things
pgxbackup: Continuity Support for pgBackRest
All Your GUCs in a Row: authentication_timeout
On pgvectorscale, and Hybrid Search Without an Elasticsearch Sidecar
PHP Goes BSD
After pgBackRest
pgxbackup: Continuity Support for pgBackRest
All Your GUCs in a Row: array_nulls
AIO Grows Up
REPACK Moves In
Thaler Is Dead. The AI Copyright Argument Isn’t.
All Your GUCs in a Row: archive_timeout
Managed Postgres, Examined: Amazon RDS for PostgreSQL
Begun the Fork War has
Parallel Autovacuum: It’s Not About The CPU
Permissive by Choice, Permanent by Accident
All Your GUCs in a Row: archive_mode
Notice of Obsolescence
Online Checksums Are Not Instant
Retail DDL Arrives, One Function at a Time
All Your GUCs in a Row: archive_library
All Your GUCs in a Row: archive_command
All your GUCs in a Row: archive_cleanup_command
Postgres Goes to the Lake, Two Ways
Huge Pages, End to End
All Your GUCs in a Row: application_name
PREEMPT_NONE Is Dead; Your Postgres Probably Doesn’t Care
Async I/O in PostgreSQL 19: The Year After
All your GUCs in a row: allow_system_table_mods
Give Us Access, Already
All your GUCs in a row: allow_in_place_tablespaces
Hints, Part 3: Advice, Not Orders
Hints, Part 1: The State of the Art Everywhere But Here
All your GUCs in a row: allow_alter_system
Hints, Part 2: Features We Do Not Want
Hints, Part 1: The State of the Art Everywhere But Here
Lies, Damn Lies, and LLM Output.
Lies, Damn Lies, and LLM Output.
Do not expose port 5432 to the public Internet
VACUUM (INDEX_CLEANUP OFF) Considered Harmful
.pyc files and their discontents
.pyc files and their discontents
Locale Cooking: Common Scenarios and Suggestions
Locale Cooking: Common Scenarios and Suggestions
Talk Fast: The Speed of Various Collations
Talk Fast: The Speed of Various Collations
The Doom That Came To PostgreSQL: When Collations Change
Farm to TABLE: Local(e) Providers
Farm to TABLE: Local(e) Providers
Speaking in Tongues: PostgreSQL and Character Encodings
"Gentlemen, this is a 🏈": Glyphs, Encodings, Collations, and Locales
Checking Your Privileges, 2
Checking Your Privileges
"Look It Up: Real-Life Database Indexing" at PgConf.NYC
Don't use ChatGPT to solve problems.
Running PostgreSQL on two ports
"Writing a Foreign Data Wrapper" at PGCon 2023
A little more on max_wal_size
The importance of max_wal_size
"Real-World Logical Replication" at Nordic PGDay 2023
"Database Antipatterns, and where to find them" at SCaLE 20x