ads' corner

PGSQL Phriday #008 – pg_stat_statements

The topic for this month’s PGSQL Phriday blogging challenge is: pg_stat_statement. And Michael Christofides gave me a perfect opener in his invitation.

For anyone who doesn’t know, I’m running a weekly interview series with people from the PostgreSQL community. It’s called “PostgreSQL Person of the Week”. One of the questions in the default set I give everyone is:


PGSQL Phriday #007 – Triggers for tracking changes in a table

This month’s #PGSQLPhriday is hosted by Lætita Avrot, and she asks about triggers.

History time. Shortly after I started using PostgreSQL, I had a need to track changes in tables. Back then - this was the early version 7.x days - there was no such option available. I set out to write a tool for it. The logical choice to do that was to pick triggers to implement this. Today the world is different, PostgreSQL gained replication, and along with this, one can hook tools into the replication and stream all the changes. Back then there was no replication.


fwupdmgr: /usr/libexec/fwupd/efi/fwupdx64.efi and /usr/libexec/fwupd/efi/fwupdx64.efi.signed cannot be found

From time to time our laptops receive firmware updates, by using the Linux Vendor Firmware Service (short: fwupd). This worked fine for a long time, until it didn’t. One day I was facing the following error message:


QNAP: exclude files and directories from rsync

I’m moving files from one QNAP system to another, and I’m using rsync for this. It’s preinstalled on a QNAP system. So far, so good.

To sync entire shared volumes, I want to exclude the @Recently-Snapshot and @Recycle entries - I don’t want to sync the trash bin and I also don’t want to sync entire snapshots.

The usual approach when using rsync is to just use the --exclude option.


PGSqlPhriday #006: One Thing You Wish You Knew While Learning PostgreSQL: psql commands

For this month’s #PGSQLPhridayGrant Fritchey asks: What is the one thing you wish you knew while you learn PostgreSQL.


Dynamic content in static websites in Hugo

With people moving away from Twitter, mostly to Mastodon, discovering the new accounts became a problem.

For people in the PostgreSQL community I created a website which lists different social media accounts. This website is part of the “PostgreSQL Person of the Week” interview project, however the data source is dynamic, and stored in a different repository. This allows me to keep the repository for the website private, but publish the data for the social media links - this data is public anyway. The interview repository is private, because who wants to see upcoming interviews anyway? ;-)


PostgreSQL 95

Someone at FOSDEM 2023 asked the question: “What happens when PostgreSQL rolls over the version number to 95? Will this cause problems like back then in Windows?”

What does that even mean? When Microsoft released the version after Windows 98, they opted for naming it Windows 10, not Windows 9. Because apparently a lot of code out there checks if the string starts with “Windows 9” and then assumes that the OS is one of the very old ones. This might not be the only such problem, as another blog article by Microsoft shows. Apparently they used “3.95” for the Windows 95 internal version, because lazy programmers.


Relational and Non-relational Data: PGSQL Phriday #005

Ryan Lambert asks in this month’s PGSQL Phriday:

  • What non-relational data do you store in Postgres and how do you use it?
  • Have you attempted non-relational uses of Postgres that did not work well? What was the problem?
  • What are the biggest challenges with your data, whatever its structure?
  • Bonus: How do you define non-relational data?

Fix LXC network issues in Ubuntu 22.04

Ran into a curios problem while updating the GitHub Actions Workflow for a project:


GitHub Actions: Node.js 12 actions are deprecated

If you use GitHub Actions to run Workflows and tests, you might have spotted this warning recently: