Careful with That Lock, Eugene

  • In the Rails world, the gem strong_migrations can be used to detect these: https://github.com/ankane/strong_migrations

    The docs include a handy articulation of fixes.

  • It doesn't make the article less interesting but this statement is wrong most of the time

    > This scenario is essentially identical to one in which there's a single migration statement that requires an `AccessExclusiveLock` and performs a table rewrite, such as adding a NOT NULL column with a DEFAULT value.

    Unless the `DEFAULT` value is `VOLATILE` (this is rarely the case as usually default values are at least `STABLE`) no table rewrite is necessary since Postgres 11.

    https://www.postgresql.org/docs/devel/sql-altertable.html

    > Many other useful performance improvements, including the ability to avoid a table rewrite for ALTER TABLE ... ADD COLUMN with a non-null column default

    https://www.postgresql.org/docs/release/11.0/

  • A really interesting idea. Checking what locks a database migrations holds in CI so you can automatically add warnings to pull requests that are likely to cause downtime.

  • A reference to “Careful with that axe, Eugene”

    Another appear of an ax in a Pink Floyd song is the “ Run to the bedroom, in the suitcase on the left, you'll find my favorite axe,” from “One Of My Turns”

  • For you young whippersnappers (are there any old whippersnappers?), the title refers to a Pink Floyd song called "Careful With That Axe, Eugene".

  • Clearly a Pink Floyd fan!

  • Made your page much more readable on large screens https://imgur.com/a/KJbsCOr Remove the aside bar, remove the 25vw padding on the left, increase font size to 2em and remove the margin 0 8% 2%. Increase your line-height to 2.0 which I havent done in my image