dbaops technical blog

Real database problems. Clean solutions.

Short, practical notes on monitoring, SQL safety, and production access.

Slow Queries with pg_stat_statements

Prioritize slow queries by total time, calls, and mean time. Continuously monitor statement behavior with low overhead.

2 min read →

PostgreSQL Replication Lag Analysis

Separate replication lag into send, write, flush, and replay stages. Continuously monitor trends across primary and standby.

2 min read →

PostgreSQL Lock Wait Analysis

Safely map blocked sessions to their blockers. Continuously monitor lock-wait duration and recurrence across workloads.

2 min read →

MongoDB COLLSCAN Production Impact

Evaluate `COLLSCAN` plans in the context of query intent and collection size. Continuously monitor recurring scans.

2 min read →

Diagnosing PostgreSQL WAL Growth

Separate WAL generation rate from retention causes. Continuously monitor disk impact to catch abnormal growth early.

2 min read →

SQL Server VLF Count Health

Inspect transaction-log `VLF` counts and status. Use moon to track the growth patterns that can produce unhealthy log layouts.

2 min read →

PostgreSQL Table and Index Bloat

Review table and index growth in workload context. Continuously monitor size changes to prioritize investigation candidates.

2 min read →

SQL Server CPU Pressure Analysis

Correlate CPU pressure with active requests, scheduler queues, and query cost. Use moon to monitor production trends continuously.

2 min read →

Detect SQL Server Plan Regression

Compare queries that slowed after a plan change using Query Store data. Use moon to track regression signals across production periods.

2 min read →

SQL Server Connection Storms

Break down sudden session growth by application and client source. Use moon to monitor production connection storms continuously.

2 min read →

SQL Server Query Store Health

Check Query Store state, size, and read-only reason. Use moon to continuously monitor whether performance history remains available.

2 min read →

Replication Slot WAL Retention

Inspect WAL retained by slots and consumer state. Continuously monitor disk risk to identify abandoned replication slots.

2 min read →

SQL Server Backup Verification

Review backup history together with verification evidence. Use moon to expose failed or overdue SQL Server backups continuously.

2 min read →

MongoDB Write Concern Configuration

Compare default `writeConcern` settings with durability expectations. Continuously monitor timeouts and acknowledgement behavior.

2 min read →

SQL Server Statistics Freshness

Review statistics age and modification counts in table context. Use moon to continuously track freshness and related query risk.

2 min read →

MongoDB Document Growth and Storage

Track changes in average document size and storage ratios. Detect schema growth effects on cache, disk, and network early.

2 min read →

MongoDB Election Instability

Investigate frequent primary changes with replica set evidence. Continuously monitor election trends to expose availability risk.

2 min read →

MongoDB Page Fault Analysis

Correlate operating-system page faults with disk and cache behavior. Continuously monitor sudden increases to preserve context.

2 min read →

SQL Server Replication Latency

Review transactional replication tracer history with agent state. Use moon to continuously track changes in delivery latency.

2 min read →

SQL Server Identity Exhaustion Risk

Compare identity consumption with data-type limits. Use moon to track exhaustion risk before inserts begin to fail in production.

2 min read →

tempdb Sizing and Contention

Review `tempdb` file sizing, growth, and page contention together. Use moon to track pressure as production workloads change.

2 min read →

SQL Server Memory Grant Pressure

Inspect waiting and oversized memory grants by query. Use moon to monitor workspace-memory pressure as workloads change.

2 min read →

SQL Server Implicit Conversions

Review implicit data-type conversions and their effect on access paths. Use moon to track the related query cost over time.

2 min read →

PostgreSQL Connection Saturation

Detect clusters approaching `max_connections` early. Use continuous monitoring to manage capacity and memory risk safely.

2 min read →

MongoDB Ticket and Queue Pressure

Review WiredTiger ticket use alongside queued operations. Identify sustained capacity pressure through continuous trends.

2 min read →

Investigate PAGEIOLATCH Waits

Correlate `PAGEIOLATCH` waits with file latency and query read volume. Use moon to track changing I/O pressure continuously.

2 min read →

PostgreSQL Connection Pool Health

Assess connection pools through queueing and backend use. Continuously monitor their database-side effects and capacity.

2 min read →

PostgreSQL Deadlock Investigation

Analyze deadlocks through transaction order and query context. Monitor recurrence continuously to isolate the root cause.

2 min read →

Investigate SQL Server WRITELOG Waits

Compare `WRITELOG` waits with log-file latency and transaction volume. Use moon to monitor changing write pressure continuously.

2 min read →

MongoDB Jumbo Chunk Problems

Safely inspect jumbo chunk metadata and investigate migration blockers. Continuously monitor distribution impact as data grows.

2 min read →

Always On AG Configuration Monitoring

Keep Always On availability group roles and operating modes visible. Use moon to track unexpected configuration drift.

2 min read →

Idle-in-Transaction Sessions

Identify the cause of `idle in transaction` sessions. Continuously track transaction age and application ownership.

2 min read →

MongoDB WiredTiger Cache Pressure

Review WiredTiger cache use, eviction activity, and read load together. Use continuous monitoring to distinguish sustained pressure.

2 min read →

PostgreSQL Disk Growth and Capacity

Separate disk growth into tables, indexes, WAL, and temporary files. Continuously monitor capacity trends and acceleration.

2 min read →

PostgreSQL work_mem Memory Pressure

Review `work_mem` risk at connection and plan level. Continuously monitor temporary-file trends before memory pressure grows.

2 min read →

SQL Server Wait Statistics Baseline

Interpret cumulative wait statistics in uptime context. Use moon to track changes in the production wait profile over time.

2 min read →

Vacuum Lag and Dead Tuples

Examine dead-row accumulation with vacuum history. Continuously monitor table-level change and cleanup rates over time.

2 min read →

How to Detect SQL Server Blocking

Find the blocking session, wait duration, and affected requests with safe SQL Server DMV queries, then build an alert that avoids noise.

5 min read →