In the past couple weeks, I’ve learned more about renovate, SBOMs, provenance and attestations than I ever wanted to know. (But if I’m being honest, I do enjoy learning a bit more about it.) Backstory is that I decided to make CNPG-Extensions an actually serious project. The original name was “Not-CNPG” as a joke about … Continue reading
Kubernetes metric container_memory_working_set_bytes is used for evicting/killing pods with too much memory use, especially if memory request < limit (don’t do this with Postgres). The metric is calculated from cgroups v2 memory.stat as current-inactive_file [source]. You’d assume it’s a good metric for memory usage in kubernetes. But with Postgres, this metric is very inaccurate for … Continue reading
My previous article talked about the checkpoint happiness hint: You probably should not change the checkpoint_timeout setting from its default of 5 minutes. Checkpoint Followup Questions A good follow-up question was raised: can an HA replica can save you from downtime if you want to set a large checkpoint_timeout? It’s true that Postgres allows promoting … Continue reading
Open Source communities are trying to quickly adapt to the present rapid advances in technology. I would like to propose some clarity around something that should be common sense. Automated emails are spam. They always have been. Openclaw (and whatever new thing surfaces this summer) is no different. Policies saying automated emails/messages are banned – … Continue reading
Edit: related blog published Feb 22 – Openclaw is Spam, Like Any Other Automated Email My personal blog here is dedicated to tech geek material, mostly about databases like postgres. I don’t get political, but at the moment I’m so irritated that I’m making the extraordinary exception to veer into the territory of flame-war opinionating… This … Continue reading
Saw this post on LinkedIn yesterday: I also somehow missed this setting for years. And it’s crazy timing, because it’s right after I published a blog about seeing the exact problem this solves. In my blog post I mentioned “unexpected behaviors (bugs?) in… Postgres itself.” Turns out Postgres already has the fix; it’s just disabled … Continue reading
This article is a shortened version. For the full writeup, go to https://github.com/ardentperf/pg-idle-test/tree/main/conn_exhaustion This test suite demonstrates a failure mode when application bugs which poison connection pools collide with PgBouncers that are missing peer config and positioned behind a load balancer. PgBouncer’s peering feature (added with v1.19 in 2023) should be configured if multiple PgBouncers are being used … Continue reading
Just got home from KubeCon. One of my big goals for the trip was to make some progress in a few areas of postgres and kubernetes – primarily around allowing more flexible use of the linux page cache and avoiding OOM kills with less hardware overprovisioning. When I look at Postgres on Kubernetes, I think … Continue reading
Many experienced DBAs joke that you can boil down the entire job to a single rule of thumb: Don’t lose your data. It’s simple, memorable, and absolutely true – albeit a little oversimplified. Mark Porter’s Cultural Hint “The Onion of our Requirements” conveys the same idea with a lot more accuracy: We need to always make sure we … Continue reading
Just a short post, because I thought this was pretty remarkable. Below, I have screenshots showing the CPU utilization of two AWS instances in us-west-2 which are running an identical workload. They are running the CloudNativePG playground, which is a production-like learning and testing environment (all running virtually inside the single ec2 instance, which can … Continue reading
Recent Comments