I have decided that – in Postgres circles – I shall henceforth refer to 2023 as THE YEAR OF THE LOCK MANAGER’S REVENGE. Let me explain. Lets start with Bruce Momjian. He has an in-depth presentation about locking in general with PostgreSQL called “Unlocking the Postgres Lock Manager“. I see online that he’s been giving … Continue reading
This month’s PGSQL Phriday #015 topic is about UUIDs, hosted by Lætitia Avrot. Lætitia has called for a debate. No, no, no. I say let’s have an all-out war. A benchmark war. I have decided to orchestrate a benchmark war between four different methods of storing a primary key: The challenge is simple: insert one … Continue reading
Last Thursday was the first in-person Seattle Postgres Users Group meetup since early 2020. We didn’t formally track attendee companies, but I recall having Apple, AWS, Fred Hutch, Google, Microsoft and OtterTune all represented. Besides the presentation about performance, we also had pizza and drinks and a book table. I happily loaned out my copy … Continue reading
The PostgreSQL Performance Puzzle was, perhaps, too easy – it didn’t take long for someone to guess the correct answer! But I didn’t see much discussion about why the difference or what was happening. My emphasis on the magnitude of the difference was a tip-off that there’s much more than meets the eye with this … Continue reading
Update 7/18: y’all guessed the answer to my puzzle very fast! At the bottom of this blog post, I’ve added the expressions that I used (with credit to those who guessed it), and also other expressions guessed by readers which exhibited similar behavior. I’ll do another follow-up blog post touching on several layers of this … Continue reading
It was 5:17pm today, just as I was wrapping up work for the day, and my manager pinged me with the following chat: <manager>: Hi Jeremy – we have a <other team> ticket – escalated to <leader>, <leader>, etc. <principal> is on trying to advise as well. Are you available this evening if needed for … Continue reading
Suppose that you want to be completely over-the-top paranoid about making sure that when you execute some particular SQL statement on your Postgres database, you’re doing it in the safest and least risky way? For example, suppose it’s the production database behind your successful startup’s main commercial website. If anything even causes queries to block/pause … Continue reading
TLDR: Note to future self… (1) Read this before you modify a table on a live PostgreSQL database. If you do it wrong then your app might totally hang. There is a right way to do it which avoids that. (2) Especially remember the lock_timeout step. Many blog posts around the ‘net are missing this … Continue reading
Since last October I’ve been periodically writing up summaries of interesting content I see on the internet related to PostgreSQL (generally blog posts). My original motivation was just to learn more about PostgreSQL – but I’ve started sharing them with a few colleagues and received positive feedback. Thought I’d try posting one of these digests … Continue reading
This month I worked with a chicagoland company to improve performance for eBusiness Suite on AIX. I’ve worked with databases running on AIX a number of times over the years now. Nevertheless, I got thrown for a loop this week. TLDR: In the end, it came down to a fundamental change in resource accounting that … Continue reading
Recent Comments