PostgreSQL & MySQL guides from production experience
2 errors in 1,485 queries across a live Aurora failover — a 0.1s window vs. Part 1's 60s baseline. Here's the exact ProxySQL config that produced it.
How ProxySQL's query rules route by pattern, user, schema, and digest — and why SET @user_var, not HikariCP's defaults, is what actually breaks multiplexing.
Aurora topology flip: 15s. RDS Multi-AZ failover: 64s. Dual-node ProxySQL cluster sync timings, NLB detection gaps, backend TLS — all measured live on AWS.
ProxySQL + Aurora stack in production: query digest baselines, lag threshold sizing, zero-error rolling upgrade, and monitor-user revocation failure pattern.
Test automatic and manual PostgreSQL failover. Kill the primary, watch Orchestrator promote, verify ProxySQL reroutes. Real outputs.
Install Orchestrator 4.30.2 for PostgreSQL. Configure topology discovery, automatic and manual failover with pg_promote().
Configure weekly AWS Backup for the PMM EC2 instance, walk through the full recovery procedure after a failure, and reconfigure PMM client agents on x86_64 and aarch64 nodes after a PMM server IP change.
Configure PMM alerting end-to-end: custom MetricsQL alert templates, PagerDuty contact points, notification policies, CloudWatch data sources via IAM role assumption, and amtool for silence management.
Configure ProxySQL 3.0.6 for PostgreSQL read/write splitting, health monitoring, and query routing. Tested on live VMs.
Install PMM Server on Docker, deploy PMM clients on x86_64 and aarch64 nodes, create monitoring users, and register MySQL, ProxySQL, and MariaDB RDS services at scale.
Configure cross-account IAM roles for PMM CloudWatch access and IAM users for Aurora OS metrics. Includes full trust policy, permissions policy, and Terraform references.
Build a 3-node PostgreSQL 17 streaming replication cluster on Multipass VMs. Step 1 of a ProxySQL + Orchestrator HA series.
Set up centralized RDS monitoring across multiple AWS accounts using Percona Monitoring and Management (PMM) and AWS Transit Gateway. Full network, routing, and security group walkthrough.
Step-by-step animation of what happens inside MySQL when you run an UPDATE. From client packet to redo log fsync — every layer of InnoDB explained with interactive visualization.
Every column of MySQL EXPLAIN output decoded with real examples from a 680K-row production database. Learn what each access type means, when to worry, and how to fix the slow ones.
Free MySQL & MariaDB EXPLAIN ANALYZE visualizer with 49 detection rules, smart index recommendations, and impact simulation. Tested against AI analysis on 50 unseen queries. 100% client-side.
Run the AWS DMS migration task, enable data validation, perform the cutover from MariaDB to Aurora MySQL, recreate indexes, and clean up all temporary AWS resources.
Configure AWS DMS source and target endpoints, set up DMS users, create the migration task with correct LOB and table mapping settings, and run pre-migration assessments.
Migrate schema and users from MariaDB 10.6 to Aurora MySQL 8.0. Covers mysqldump compatibility pipeline, incompatible object cleanup, index strategy for DMS, and user export with pt-show-grants.
Set up AWS DMS for MariaDB to Aurora MySQL migration. Step-by-step guide to IAM roles, replication instance sizing, VPC configuration, and security group rules.
Pre-migration checklist for migrating from MariaDB 10.6 to Amazon Aurora MySQL 8.0 via AWS DMS. Covers timeout settings, binlog configuration, and target validation.
Complete MySQL 8.4 upgrade checklist with 41 items, 8 common troubleshooting scenarios, project timeline estimates, and change management templates for production upgrades.
Plan your MySQL 8.4 rollback strategy before you start. Plus the complete post-upgrade validation checklist — version checks, replication health, optimizer stats, and monitoring.
Three MySQL upgrade approaches compared — replication-based, in-place, and rolling replica. Step-by-step commands, configuration templates, and time estimates for each method.
Learn how to test your MySQL 8.0 to 8.4 upgrade using pt-upgrade, dry-run procedures, application compatibility checks, and canary testing before touching production.
MySQL 8.0 reached EOL on April 6, 2026. This guide covers every pre-upgrade step — backups, upgrade checker, removed parameters, authentication migration, and schema fixes.
A NetApp study found 400,000+ silent data corruptions across 1.5M drives. Learn how to enable PostgreSQL checksums at init, on existing clusters, and detect corruption before it reaches your backups.
PostgreSQL 14's compactify_tuples optimization made crash recovery 2.4x faster. Learn 5 methods to monitor WAL replay progress, from pg_controldata to pg_stat_recovery_prefetch.
At default settings, a 1 TB PostgreSQL table accumulates up to 200 GB of dead rows before autovacuum triggers. Learn how autovacuum's cost model works and how to tune it for production databases.
Your PostgreSQL database is slow and you don't know why. This guide walks through a systematic diagnosis process — slow queries, EXPLAIN analysis, index auditing, and autovacuum.
Book a free 30-minute assessment call and get actionable recommendations for your setup.
Book Free Assessment →