If you have ever run pg_ctl stop -m fast on a primary and watched it hang well past wal_sender_shutdown_timeout, you have met a bug that has been sitting in walsender.c for years. As of commit c0b24b3 on master (Fujii Masao, May 1, reported by Andres Freund via FreeBSD CI), it is fixed. PostgreSQL 19 will enforce the timeout. PostgreSQL
autovacuum is a boolean. Default on, context sighup. Set it to off for any meaningful length of time and you have purchased a tour of every PostgreSQL failure mode worth knowing about, in escalating order, at no extra charge. Let me describe the tour.
The autovacuum launcher and its workers run VACUUM and ANALYZE against tables based
Bruce Momjian posted the first draft of the PostgreSQL 19 release notes to pgsql-hackers on April 15. The count, by his own enumeration, is 212 items. Feature freeze landed a week earlier on April 8. Beta 1 is expected next month. The final release is on the calendar for September.
PGX is providing continuity support for pgBackRest, under the name pgxbackup.
pgBackRest has been the gold standard for PostgreSQL backup and restore for over a decade. David Steele built it, maintained it, and shaped how a generation of PostgreSQL DBAs think about backup. It earned its place in production because it does the unglamorous things correctly: parallel backup
A connection is not free just because it has not logged in yet. From the moment the TCP handshake completes, the would-be client is holding a backend slot counted against max_connections, and it will hold that slot until one of two things happens: it finishes the authentication protocol, or authentication_timeout kicks in and the server hangs up on it.
pgvector is excellent. It is also, at large scale, expensive — because the HNSW index it gives you wants to live in memory to be fast, and “wants to live in memory” stops being a casual statement somewhere around fifty million 1536-dimensional embeddings. At which point you reach for Pinecone, or you scale up the box, or you wave your
The php.internals vote closed on April 4, and PHP 9.0 will ship under the 3-clause BSD license. The RFC, driven by Ben Ramsey, replaces both the PHP License v3.01 and the Zend Engine License v2.0 with a single, OSI-recognized, FSF-recognized, GPL-compatible permissive license that has been sitting on the shelf for thirty-five years. This is a good decision, and the
pgBackRest is now unmaintained. If you were running pgBackRest in production — and a lot of people were running pgBackRest in production — what do you actually do now?
The honest answer has three parts. First: the world has not ended. pgBackRest still works. The git repository still exists, the binaries you have installed still take backups, and
We leave the archive arc behind and enter the first of several backward-compatibility GUCs. array_nulls controls whether the array input parser treats an unquoted NULL as an actual SQL null or as the four-character string "NULL". Default is on; context is user; it has been on by default since PostgreSQL 8.2, which shipped in December 2006.
PostgreSQL 18 shipped asynchronous I/O. PostgreSQL 19, currently in feature freeze and headed for a September release, makes it tolerable to operate.
That sounds like a snide reading. It is not. The AIO subsystem in PG18 was a serious piece of engineering, and on the workloads it covers — sequential scans, bitmap heap scans, and VACUUM — it does