#​499 — March 29, 2023

Web Version

Together with  pgAnalyze

Postgres Weekly

Is Your Postgres Ready for Production? — Craig gets you ready for production with a quick production checklist of essentials, from backups and logging to statement timeouts and connection pooling.

Craig Kerstiens

The Importance of max_wal_sizework_mem and max_wal_size are two parameters that can have an outsized effect on performance. Here’s a basic technique for setting max_wal_size appropriately. (If you’re more interested in work_mem, Christophe did a separate blog post on that ;-))

Christophe Pettus

Learn How to Create the Best Postgres Index for Your Queries (eBook) — Creating the right indexes can improve your query performance significantly. In this PDF eBook, we provide detailed information around index types, operators, data types and more. After reading this book, you'll be able to create the best index for your queries.

pganalyze sponsor

Postgres: The Graph Database You Didn't Know You Had? — Postgres is flexible enough to give you graph database like functionality out of the box, if you’re prepared to model out the right schema for it. If you need something more advanced, though, Apache AGE will bring more complete support including OpenCypher querying.

Dylan Paulus


Searching for Performance Regressions in Postgres 11–15 — What do you find if you use sysbench to search for performance regressions in Postgres v11 through to v15.2? Good news mostly. Broadly speaking, Postgres continues to get slightly faster with no serious performance slip-ups.

Mark Callaghan

Scaling Postgres with Amazon S3 (on Timescale Cloud) — This is specific to Timescale’s cloud platform, but an interesting development where Postgres can be used normally with data seamlessly ‘tiered’ and stored on lower cost S3 storage where appropriate. For a time series database where you might rarely want to access older data, this could be a big win in the long term.

Mike Freedman (Timescale)

The New Old debug_parallel_query Setting in Postgres 16 — The force_parallel_mode will be called debug_parallel_query in Postgres 16. Why? To reinforce it’s for debugging purposes and not a magical way to get parallel query execution.

Pavlo Golub

Ask Me Anything About High Availability for Postgres on Demand Webinar

Percona sponsor

Postgres 16 Highlight: More Patterns for pg_ident.conf — Postgres 16 makes auth configuration improvements to pg_ident.conf, allowing for the use of patterns for pg-user entries like in pg_hba.conf.

Michael Paquier

🛠 Code and Tools

PgCat 1.0: Modern Postgres Pooler and Proxy — Built in Rust, PgCat offers support for sharding (including, experimentally, sharding based upon SQL syntax), load balancing and failover support.


pg_gpt: Experimental Extension for Making Queries with Natural Language — Yes, picture huge flashing lights around the word ‘experimental’, but it’s always interesting to see OpenAI’s ChatGPT taking on SQL query generation. Also a neat example of a simple extension built with Rust and PGX.


Neon's Edge-Compatible Serverless Driver for Postgres — Neon is a multi-cloud ‘serverless Postgres’ platform, but one problem with certain serverless function platforms is an inability to make direct TCP connections to systems like Postgres. What to do? Use HTTP instead. Neon now offers this for V8/Node users in the shape of a node-postgres replacement that uses WebSockets instead.

George MacKerron (Neon)