Settings

Theme

Careful with That Lock, Eugene

kaveland.no

60 points by alflervag 2 years ago · 17 comments

Reader

Empact 2 years ago

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.

  • tnmom 2 years ago

    ankane is some kind of superhuman cyborg. Seems like about 25% of the really useful gems I use have that name in the URL...

  • rkaveland 2 years ago

    This is super cool, I love how it suggests safer ways to achieve the same goal for many common risky migrations. Definitely going to sit down and study these.

  • alflervagOP 2 years ago

    Nice, I wasn’t aware of this one.

charettes 2 years ago

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/

  • rkaveland 2 years ago

    Thanks, I will fix this part. As far as I can tell, it is only the example of what can cause the table rewrite that's wrong, so it would be correct if the example was to make a varchar shorter? Although I guess that's not a table rewrite, only a long validation...

alflervagOP 2 years ago

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.

noncoml 2 years ago

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”

tomcam 2 years ago

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

neosavvy 2 years ago

Clearly a Pink Floyd fan!

  • dp-hackernews 2 years ago

    Or a Manic Miner fan - it's the name of one of the levels. Presumably influenced by Pink Floyd, although the person that wrote Manic Miner was only about eleven IIRC :-)

vivzkestrel 2 years ago

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection