Broadcasting a quick tip from a real-life “tasklet” where a customer was genuinely surprised why a seemingly logical fix didn’t show up on Google / LLM-s. So let’s see if we can improve on that situation. So in short a large central table was getting too bloated (fragmented) and query...| Kaarel's corner
TIL - Debian comes with a pg_virtualenv wrapper!| Kaarel's corner
Some weeks ago Postgres (well, not directly the official Postgres project) again managed to surprise me during my daily muscle-memory operations, prompting even one relatively lazy human to actually write about it. So while minding some other common Postgres business, I double-tapped “Tab” to complete on “pg_v”, looking for pg_verifybackup...| Kaarel's corner
Animated by some comments / complaints about Postgres’ missing user variables story on a Reddit post about PostgreSQL pain points in the real world - I thought I’d elaborate a bit on sessions vars - which is indeed a little known Postgres functionality. Although this “alley” has existed for ages...| Kaarel's corner
A small follow up on my previous post on various Postgres scale-up avenues in my preferred order. The post received quite a bit of interest - meaning people at least still “wish” performant databases :) And - the ones who are willing to put in a bit of effort with...| Kaarel's corner
After meeting with another database fellow recently - the evergreen topic of database scaling popped up again. That won’t go out of fashion anytime soon I guess, despite the AI advancements and the rise of Postgres-aware chatbots a la Xata Agent. Namely - when to grab for which designs, technical...| Kaarel's corner
Once a year or so Postgres manages to surprise me for some of those daily DB micro-operations, that come from muscle memory usually, without any braincells spent. Today to my delight I stumbled on one such again - for the task of starting a psql session in a safe read-only...| Kaarel's corner
Recently there was a nice article on the Planet PostgreSQL feed on Postgres’ parallel query capabilities and the pertinent tuning parameters. All good and logical, the main settings and considerations were highlighted…but then I suddenly remembered that there’s one more parallelism relevant parameter that for some reason is mostly always...| Kaarel's corner
At last week’s local Postgres user group meetup here in Estonia, one of the topics was HA and recent Patroni (the most popular cluster manager for Postgres) improvements in supporting quorum commit, which by the way on its own has been possible to use for years. Things went deep quickly...| Kaarel's corner
Meet Postgres User Group Tallinn / Estonia Just a short shout-out to maybe get an extra attendee or two - as actually appeared that we’ve never done any advertising for our local Estonian Postgres User Group on the Postgres feed at all - although we’ve been out there since years...| Kaarel's corner
Postgres is already great, surely - even “too popular” one could complain with a twist…as this broadcast “was” actually supposed to be my Lightning Talk at last month’s pgConf.eu in Athens 🙂 But indeed, seems Postgres has in an awesome way gotten so big that it’s not like that anymore...| Kaarel's corner
A database and Postgres specialist. I’ve put in my 20K+ hours with many Postgres-heavy businesses in Europe, like Zalando, BMW, Klarna, Cognite - and thus have developed a pretty good gut feeling of what works reasonably well for some purpose and what not. Occasional speaker at conferences, co-founder of [Estonian...| Kaarel's corner
At pgConf.eu in Athens - by the way, reported to be the largest PostgreSQL conference to date, attesting to the software’s undeniable success! - I got into a sort of interesting hallway discussion. I guess my chat companion was relatively new to the ecosystem - and said something along the...| Kaarel's corner
While everyone agrees that Postgres has a lot of really nice things going for it, the analytics story has lagged a bit as there are some hard problems to be solved - the on-disk format would have to be changed or IO-layer abstracted away even further to allow alternative engines,...| Kaarel's corner
In my last post I did a quick check on the performance of the newer (lz4, zstd) pg_dump compression options, which included setting up a small framework to download some openly available “real life”-ish sample datasets. And the general result was that, indeed - the new algos in lower levels...| Kaarel's corner
Time between Christmas and New Year is always a good quiet time to be able to concentrate and tick off some mouldy TODO list items. For me this time the top item was a script (which turned into a small framework somehow), to download and import some openly available “real...| Kaarel's corner
Not exactly from today, rather from a month or two ago, but still on my “noteworthy list”. So after a remarkably long quiet period of no surprises (Postgres doesn’t generally surprise one badly), I managed to learn something controversial - a thing considered generally good, using ANY instead of IN-list...| Kaarel's corner
Today again a nice finding after 12 years with Postgres - seems one can actually retrieve the time when a cluster / instance was once initialized! Given of course you haven’t dump-restored or in-place upgraded the instance in the mean time… So far on those rare occasions when I’ve actually...| Kaarel's corner
“That time of the year”™ again 🎉 As per usual for that “season” - not that I don’t trust the PostgreSQL Global Development Group and its performance farm (they did catch some performance regressions in beta stages!) - but somehow as soon as a new major release arrives, I get...| Kaarel's corner
Hey Postgres friends! Thought I’ll try out a new shorter broadcasting format as seems finding some hours for proper blog posts is getting increasingly harder and harder. So here a first “Today I learned” type of post on a very useful feature of pgbadger that I just discovered for myself...| Kaarel's corner
Quite some time ago at work there was a need to partition a particularly huge table, because: a) bloat was getting out of hand - as, remember, so far only one Autovacuum worker can work on a single table or subpartition b) there might arise a need to extract /...| Kaarel's corner
After having worked many years with databases, some things become kind of second nature, so that you don’t think about it really - if there’s a need, you just type in some commands on the console and move on with other things. One of such things is for example generating...| Kaarel's corner
First off - :wave: heya old friends, it’s been a while! After a slight “busy-with-other-things” hiatus (changing jobs, genome multiplication) I thought it’s about time to hit the keyboard again to avoid becoming overly “rusty” with writing and also to help my ageing brain in future as it’s pretty neat...| Kaarel's corner