homelab-journey
CloudNativePG Part 7: Turning Off the Thing You Built Four Months Ago
Deleting the legacy PostgreSQL instance took four commands. Proving it was safe to delete took a day and eleven read-only checks.
Best practices for deploying, optimizing, and maintaining PostgreSQL relational databases.
homelab-journey
Deleting the legacy PostgreSQL instance took four commands. Proving it was safe to delete took a day and eleven read-only checks.
homelab-journey
Moving a live 10 MB database onto CloudNativePG in under six minutes, and proving the verification harness could actually fail before trusting it.
homelab-journey
Extending Prometheus and Alertmanager to cover CloudNativePG, then chaos-testing failover, node loss, and restores against a throwaway database.
homelab-journey
Installing CloudNativePG on Bletchley: the Cluster, MetalLB exposure, automated backups, and every real bug hit getting there.
homelab-journey
Same partition, opposite outcome, depending only on which board the primary happens to be on.
homelab-journey
A LogQL finding led to a one-line AWS CLI region fix for postgres housekeeping — and uncovered a second gap: backups never synced to the NAS.
homelab-journey
A stale Grafana metric, eight days of silent failure, and five root causes that each made sense in isolation. How a backup stopped without anyone noticing.
homelab-journey
Per-database pg_dump to Garage S3, a touch file state machine, daily/weekly rotation, a Go Prometheus exporter, and Alertmanager rules for the PostgreSQL backup system on Bletchley.
homelab-journey
Setting up a shared PostgreSQL 17 StatefulSet on Kubernetes, Traefik TCP routing, an OpenBao v2.5.3 surprise, and migrating the Umami database.
PostgreSQL
PostgreSQL 12 reached EOL in November 2024. Here's how I upgraded to PostgreSQL 18 using the dump-and-restore method on RHEL 8.
Lessons Learned
Seven lessons from installing Umami analytics: database compatibility, EOL software risks, Docker isolation, and why documentation is as valuable as code.
Umami
Privacy-friendly analytics without Google: how I deployed Umami with PostgreSQL in Docker after learning hard lessons about database compatibility.