10 Things I Hate About PostgreSQL | by Rick Branson | Medium

By Rick Branson

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

#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…