-
PostgreSQL Deep Dive: maintenance_work_mem and autovacuum_work_mem — the memory parameters that decide how fast your database cleans up after itself
PostgreSQL Deep DivePostgreSQLmaintenance-work-memautovacuummemoryperformancetuningVACUUMCREATE-INDEX -
PostgreSQL Deep Dive: Partition Pruning — Planning Time vs Execution Time
PostgreSQL Deep Divepostgresqlpartitioningpartition-pruningquery-planningperformance -
PostgreSQL deep dive: Window function internals, execution, sorting, and the spilling problem
PostgreSQL Deep DivePostgreSQLWindow FunctionsQuery PlanningPerformanceSorting -
PostgreSQL Deep Dive: Foreign Key Locking — Why Missing FK Indexes Kill Throughput
PostgreSQL Deep DivePostgreSQLLockingForeign KeysPerformanceOperations -
PostgreSQL Deep Dive: Lock Queues and Fast-Path Locks — Why Some Lock Acquisition Is Nearly Free
PostgreSQL Deep DivePostgreSQLLockingInternalsPerformance -
PostgreSQL Deep Dive: DDL Locking — Why Your ALTER TABLE Just Blocked Every Query on the Table
PostgreSQL Deep DivePostgreSQLDDLLockingOperations -
PostgreSQL Deep Dive: CTE Materialization — The Optimization Fence That Kills Your Query Performance
PostgreSQL Deep DivePostgreSQLCTEQuery PlanningPerformanceOptimization -
PostgreSQL Deep Dive: Synchronous Commit and Durability Trade-offs
PostgreSQL Deep DivePostgreSQLDurabilityReplicationWALPerformanceHA -
PostgreSQL Deep Dive: BRIN Indexes — How a 1 MB Index Can Replace a 1 GB B-Tree
PostgreSQL Deep DivePostgreSQLBRINIndexingPerformanceBigData -
PostgreSQL Deep Dive: Replication Slots and Disk Fill-Up — The Silent Killer That Stops Your Primary
PostgreSQL Deep DivePostgreSQLReplicationWALStreamingReplicationHAOperations -
PostgreSQL Deep Dive: Index Bloat — Why Your Index Keeps Growing Even When Your Table Doesn't
PostgreSQL Deep DivePostgreSQLIndexingBloatVacuumREINDEXPerformance -
PostgreSQL Deep Dive: Deadlock Detection, log_lock_waits, and Why Your Transactions Keep Aborting
PostgreSQL Deep DivePostgreSQLDeadlocksLockingPerformanceDiagnostics -
PostgreSQL Deep Dive: Temporary Files and log_temp_files — When Your Queries Secretly Write Gigabytes to Disk
PostgreSQL Deep DivePostgreSQLPerformanceTemporary Fileswork_memDiskIO -
PostgreSQL Deep Dive: Planning Time Spikes — Why Your Queries Take Longer to Plan Than to Execute
PostgreSQL Deep DivePostgreSQLdatabaseperformanceplannerstatisticsANALYZEoperations -
PostgreSQL Deep Dive: pg_stat_statements query_id — Why Your Top Query Changes Between Versions
PostgreSQL Deep DivePostgreSQLdatabasemonitoringpg_stat_statementsperformanceoperations -
PostgreSQL Deep Dive: Prepared Transactions, max_prepared_transactions, and the Two-Phase Trap
PostgreSQL Deep DivePostgreSQLdatabaseoperationstransactionstwo-phase-commitXA -
PostgreSQL Deep Dive: Idle in Transaction Connections — The Silent Killer
PostgreSQL Deep DivePostgreSQLdatabaseperformanceoperationsvacuumconnections -
PostgreSQL Deep Dive: tsvector, tsquery, and why your full-text search results are ranked wrong
PostgreSQL Deep DivePostgreSQLFull-Text SearchtsvectorGINtsquery -
PostgreSQL Deep Dive: identity columns vs serial, and the sequence cache gap problem
PostgreSQL Deep DivePostgreSQLData TypesSequencesIdentitySerial -
PostgreSQL Deep Dive: UUID v4 vs v7 - why your random UUIDs are making your indexes fat
PostgreSQL Deep DivePostgreSQLUUIDIndexingPerformanceData Types -
PostgreSQL Deep Dive: array types, GIN indexing, and when arrays beat normalized tables
PostgreSQL Deep DivePostgreSQLArraysGINIndexingData Types -
PostgreSQL Deep Dive: JSONB - GIN indexing, containment queries, and the performance traps that look right but run slow
PostgreSQL Deep DivePostgreSQLJSONBGINIndexingPerformance -
PostgreSQL Deep Dive: timestamptz and why almost every timestamp column should have a time zone
PostgreSQL Deep DivePostgreSQLData TypesTimestampTimezoneDST -
PostgreSQL Deep Dive: numeric vs float8 - precision, performance, and gotchas
PostgreSQL Deep DivePostgreSQLData TypesNumericFloatPerformance -
PostgreSQL Deep dive: the lock hierarchy
PostgreSQL Deep DivePostgreSQLLockingConcurrencyMVCC -
PostgreSQL Deep dive: advisory locks
PostgreSQL Deep DivePostgreSQLLockingAdvisory LocksConcurrency -
PostgreSQL Deep dive: partial indexes, expression indexes, and covering indexes
PostgreSQL Deep DivePostgreSQLIndexingPartial IndexesExpression IndexesCovering Indexes -
PostgreSQL Deep dive: GiST Indexes — the extensible infrastructure behind spatial data, ranges, and full-text search
PostgreSQL Deep DivePostgreSQLIndexingGiSTPostGISRangesSpatial -
PostgreSQL Deep dive: GIN indexes — how Generalized Inverted Indexes power full-text search, JSONB, and array queries
PostgreSQL Deep DivePostgreSQLIndexingGINFull-Text SearchJSONBPerformance -
PostgreSQL Deep dive: serializable snapshot isolation — how PostgreSQL prevents write skew without traditional locking
PostgreSQL Deep DivePostgreSQLserializableSSIMVCCconcurrencypredicate-lockswrite-skewtransactions -
PostgreSQL Deep dive: Incremental sort — how PostgreSQL 13 made multi-column ORDER BY cheaper
PostgreSQL Deep DivePostgreSQLincremental-sortquery-planningperformancesortingwork-mem -
PostgreSQL Deep dive: Index bloat — why your index keeps growing even when your table doesn't
PostgreSQL Deep DivePostgreSQLIndexingBloatVACUUMMaintenancepg_repack -
PostgreSQL Deep dive: BRIN Indexes — how a 1mb index can replace a 1gb B-Tree
PostgreSQL Deep DivePostgreSQLIndexingBRINPerformanceLarge Tables -
PostgreSQL Deep dive: Infomask and hint bits
PostgreSQL Deep DivePostgreSQLMVCCInternalsTuple HeaderPerformance -
PostgreSQL Deep dive: Row-level locks
PostgreSQL Deep DivePostgreSQLLockingMVCCConcurrency -
PostgreSQL Deep dive: WAL Format and the redo-only architecture
PostgreSQL Deep DivePostgreSQLWALcrash-recoverystoragereliabilityLSN -
PostgreSQL Deep dive: The visibility map — the 2-bit data structure that makes index-only scans possible
PostgreSQL Deep DivePostgreSQLstoragevisibility-mapindex-only-scanvacuumMVCCperformance -
PostgreSQL Deep dive: The free space map — how Postgres knows where to put your next row
PostgreSQL Deep DivePostgreSQLstoragefree-space-mappage-layoutvacuumperformance -
PostgreSQL Deep dive: TOAST — The oversized-attribute storage technique
PostgreSQL Deep DivePostgreSQLTOASTstoragecompressionperformance -
PostgreSQL Deep dive: WAL Buffers and checkpoint tuning — why your writes stall at the worst moment
PostgreSQL Deep DivePostgreSQLWALcheckpointswal_buffersperformancetuning -
PostgreSQL Deep dive: Effective_cache_size — the parameter that changes nothing yet changes everything
PostgreSQL Deep DivePostgreSQLeffective_cache_sizequery-planningperformancetuningplanner -
PostgreSQL Deep dive: Shared_buffers vs the os cache — the double-buffering myth
PostgreSQL Deep DivePostgreSQLshared_buffersOS-cachememoryperformancetuning -
PostgreSQL Deep dive: Work_mem — what it actually controls (and why your sorts keep spilling to disk)
PostgreSQL Deep DivePostgreSQLwork_memmemoryperformancetuningquery-planning -
PostgreSQL Deep dive: Parallel query execution
PostgreSQL Deep DivePostgreSQLparallel-queryperformancequery-planningtuning -
PostgreSQL Deep dive: Generic vs custom plans for prepared statements
PostgreSQL Deep DivePostgreSQLprepared-statementsquery-planningperformanceplan-cache -
PostgreSQL Deep dive: Nested loop vs hash Join vs merge Join — how the planner picks
PostgreSQL Deep DivePostgreSQLquery-planningjoinshash-joinmerge-joinperformance -
PostgreSQL Deep dive: Seq scan vs index scan vs bitmap scan — when Postgres chooses each
PostgreSQL Deep DivePostgreSQLquery-planningindex-scanbitmap-scanperformance -
PostgreSQL Deep dive: Reading EXPLAIN (analyze, buffers, wal) like a pro
PostgreSQL Deep DivePostgreSQLEXPLAINquery-planningperformancetuning -
PostgreSQL Deep dive: B-Tree Internals — page splits, lp_dead, and why your index is bloated
PostgreSQL Deep DivePostgreSQLB-treeindexingperformanceinternalsdeduplication -
PostgreSQL Deep dive: Autovacuum internals — how Postgres decides when to clean up
PostgreSQL Deep DivePostgreSQLvacuumautovacuumperformancetuningoperations -
PostgreSQL Deep dive: MVCC, xmin, xmax — how Postgres really decides what you can see
PostgreSQL Deep DivePostgreSQLMVCCperformanceinternalsconcurrencydatabase -
PostgreSQL Deep dive: Transaction ID wraparound — the day your database stops taking writes
PostgreSQL Deep DivePostgreSQLMVCCperformancevacuumoperationsdatabase