Sun 13 Mar 2022

Zero-downtime schema migrations in Postgres using views

Schema migrations are tricky, especially when planned downtime is not an option. Changes need to be carefully designed to stay backwards compatible so that both the new and old schema are available simultaneously. They must also be designed to not interfere with any other queries, for example by locking up tables. Plenty has been written on how to this right but one pattern I haven’t seen mentioned often is using views.

Source: Zero-downtime schema migrations in Postgres using views, an article by Fabian Lindfors.


Sancia Grado is a thief, and a damn good one. And her latest target, a heavily guarded warehouse on Tevanne’s docks, is nothing her unique abilities can’t handle.

But unbeknownst to her, Sancia’s been sent to steal an artifact of unimaginable power, an object that could revolutionize the magical technology known as scriving. The Merchant Houses who control this magic—the art of using coded commands to imbue everyday objects with sentience—have already used it to transform Tevanne into a vast, remorseless capitalist machine. But if they can unlock the artifact’s secrets, they will rewrite the world itself to suit their aims.

Now someone in those Houses wants Sancia dead, and the artifact for themselves. And in the city of Tevanne, there’s nobody with the power to stop them.

To have a chance at surviving—and at stopping the deadly transformation that’s under way—Sancia will have to marshal unlikely allies, learn to harness the artifact’s power for herself, and undergo her own transformation, one that will turn her into something she could never have imagined.

In the evening I started in Foundryside The Founders Trilogy Book 1 by Robert Jackson Bennett.