Don't do that!
summary
Covers concrete Postgres mistakes and fixes: storing timestamps as strings instead of timestamp wastes space and breaks timezone math, using integer primary keys hits a 2 billion limit and requires a trigger + batched backfill to convert to bigint without long downtime, declaring every column nullable invites unexpected NULLs, Large Objects create orphaned data and slow upgrades, enum values cannot be removed, lying about IMMUTABLE corrupts indexes, check constraints must be retroactively deterministic, and EAV wastes 24 bytes per row — prefer JSONB or proper tables.
AI-written summary · about
chapters (12)
- 0:00Introduction and welcome
- 1:09Why worst practices matter
- 2:15Inappropriate data types
- 8:13Auto-generated primary keys
- 14:42Fixed-length string limits
- 16:51Nullable columns
- 19:21Avoiding large objects
- 23:43Enum type limitations
- 25:09Retroactively deterministic constraints
- 28:41Immutable function pitfalls
- 31:33Entity-attribute-value design
- 45:00Q&A
related talks
57mUnderstanding Advanced Datatypes in PostgreSQL
57mUnderstanding Advanced Datatypes in PostgreSQL
25mJSON in PostgreSQL - evil data type or just needs to be tamed?
36mPostgreSQL worst practices
30mLesser known features of PostgreSQL
50mPostgreSQL gotchas for app developers
47mPostgreSQL worst practices
46mExacting Standards: Considerations for Precision and Accuracy ...
