· 2 min read · PostgreSQL

All Your GUCs in a Row: array_nulls

A Rouen duck is considering the holes in a sidewalk.

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.

0 comments

· 7 min read · PostgreSQL

AIO Grows Up

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

0 comments

· 2 min read · PostgreSQL

REPACK Moves In

For about fifteen years, the standard answer to “this table is bloated, what do I actually do about it” has been one of the out-of-tree options: pg_repack (the extension), pg_squeeze (Antonin Houska’s predecessor work), or a hand-rolled CREATE TABLE AS and swap. PG19 changes that. The new built-in REPACK command absorbs the work VACUUM FULL and CLUSTER already did, and

0 comments

· 2 min read · FOSSLaw

Thaler Is Dead. The AI Copyright Argument Isn’t.

The Supreme Court denied cert in Thaler v. Perlmutter on March 2, leaving in place the DC Circuit’s holding that the Copyright Office may refuse to register a work whose sole listed author is a machine. That’s it. That’s the holding.

The case is narrower than the headlines suggest. Stephen Thaler’s “Creativity Machine” produced a static image titled “A

0 comments

· 2 min read · PostgreSQL

All Your GUCs in a Row: archive_timeout

A photorealistic 35mm photograph on Fuji Velvia film. A flock of male and female mallard ducks is being chased out of the front door a large, stately library by an Indian runner duck. The Indian runner duck is wearing librarian's spectacles. An old fashioned round clock is above the door

The archiver only runs when a WAL segment is complete. On a busy database that happens constantly; on a quiet one it might not happen for hours or days. archive_timeout exists to prevent the resulting “our database has been accepting writes all afternoon but none of them are in the archive yet” problem.

When set to a positive value,

0 comments

· 13 min read · PostgreSQL

Managed Postgres, Examined: Amazon RDS for PostgreSQL

A photorealistic image of a blue elephant wearing a tabord with the large letters "RDS" on the side.

First in a series of dispassionate surveys of the major managed-Postgres offerings. This post is about Amazon RDS for PostgreSQL — what AWS calls “traditional RDS,” as distinct from Aurora PostgreSQL, which is a separate product with a separate architecture and will get its own post.

0 comments

· 1 min read · FOSSLaw

Begun the Fork War has

Every few months somebody publishes a “state of open source licensing” piece, and most of them aren’t worth your time. This one is.

Gabriel Anhaia’s Open Source in 2026: The Fork Wars Are Getting Ugly pulls the year’s licensing disasters — OnlyOffice trying to weaponize AGPLv3 §7 against Nextcloud, IBM-flavored HashiCorp grinding away at OpenTofu contributors, Cal.com’s “AI made

0 comments

· 4 min read · PostgreSQL

Parallel Autovacuum: It’s Not About The CPU

PostgreSQL 19 ships with parallel autovacuum. The new GUC autovacuum_max_parallel_workers caps the cluster-wide pool, and the per-table storage parameter autovacuum_parallel_workers lets you tune individual tables. Workers come out of the existing max_parallel_workers budget. Off by default. Good.

This is a real improvement, and a lot of people are going to turn it on for the wrong reasons.

0 comments

· 9 min read · PostgreSQL

Permissive by Choice, Permanent by Accident

Stephen O’Grady’s State of Open Source Licensing in 2026 at RedMonk is essential reading. The headline finding — that the long shift from copyleft to permissive licensing has continued, with Apache and MIT consolidating their dominance among the survivors — surprises no one who has been watching the space. The interesting question, as always, is what the data leaves out.

0 comments

· 2 min read · PostgreSQL

All Your GUCs in a Row: archive_mode

A photorealistic 35mm photograph a male muscovy duck riding in a library cart, being pushed by an indian runner duck with its bill.

archive_mode is the master switch for WAL archiving. With the last three posts under our belts — archive_cleanup_command, archive_command, archive_library — we now get to the parameter that decides whether any of that machinery runs at all.

Three values: off (default), on, and always. Context is postmaster, which means flipping it requires a server

0 comments