| Operations pitfalls | autovacuum's default threshold is unfriendly to big tables (0.2 × row count); vacuum can't keep up on write-heavy big tables | All versions | open (by design; per-table tuning is the standard fix) | official docs; community-tested 2026-09 |
| Operations pitfalls | Long transactions / idle-in-transaction / logical slots freeze database-wide vacuum; bloat runs out of control | All versions | open (by design) | official docs; community consensus |
| Operations pitfalls | Idle replication slots fill the primary's disk (max_slot_wal_keep_size defaults to -1, unlimited) | PG 13+ | partially-fixed (fixable by setting a cap, at the cost of slot invalidation and replica rebuild) | official docs; community consensus |
| Operations pitfalls | Major-version upgrades still carry downtime/validation cost; extension version coupling can stall upgrades; --link cannot roll back | All versions | open (PG 18 statistics inheritance and --swap improve this) | official docs; community-tested |
| Operations pitfalls | No native TDE; compliance scenarios must rely on filesystem/cloud-disk encryption or commercial distributions | All versions | open (verified absent; long-standing community request) | official docs (feature absent); community consensus |
| Operations pitfalls | No built-in connection pooler or automatic failover (both verified absent); assembled from Patroni/PgBouncer/cloud | All versions | open (ecosystem niche, not a bug) | official docs; community consensus |
| Performance pitfalls | Process connection model: significant fork/scheduling overhead past thousands of connections; work_mem multiplication can OOM | All versions | open (inherent to the architecture) | official docs; community consensus |
| Performance pitfalls | VACUUM/REINDEX contend with the workload for IO; periodic checkpoint spikes | All versions | open (PG 18 AIO improves vacuum/sequential-scan paths) | official docs; community consensus |
| Performance pitfalls | Exact count(*) requires a full table scan (no approximate value to read directly); count on big tables is a classic slow query | All versions | open (workarounds: pg_class.reltuples approximation or materialized views) | community consensus |
| Performance pitfalls | Write amplification: WAL + full_page_writes + index maintenance; hidden IOPS cost on cloud disk bills | All versions | open (inherent to the architecture) | official docs; community consensus |
| Compatibility pitfalls | Logical replication doesn't replicate DDL; schema changes need external tooling to sync | All versions | open | official docs; community consensus |
| Compatibility pitfalls | Sequences have gaps (rollback/crash produce gaps); applications expecting gapless sequences will be disappointed | All versions | open (by design) | official docs; community consensus |
| Ecosystem pitfalls | Managed-edition behavior differences: parameter/extension whitelists, restricted superuser — "works on cloud ≠ same self-hosted" | All versions | open | community consensus |