PostgreSQL performance degrades rapidly with more connections. Credit: brandur.org.

10 Things I Hate About PostgreSQL

#1: Disastrous XID Wraparound

#2: Failover Will Probably Lose Data

#3: Inefficient Replication That Spreads Corruption

#4: MVCC Garbage Frequently Painful

#5: Process-Per-Connection = Pain at Scale

#6: Primary Key Index is a Space Hog

CREATE TABLE likes (
object_type INTEGER NOT NULL,
object_id BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
user_id BIGINT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
PRIMARY KEY(object_type, object_id, user_id)
);

#7: Major Version Upgrades Can Require Downtime

#8: Somewhat Cumbersome Replication Setup

#9: Ridiculous No-Planner-Hints Dogma

#10: No Block Compression

All That Said…

I do Software Engineering on High-Impact, Large-Scale Internet Services.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store