Enforcing join orders in PostgreSQL
After the pgconfeu23 in Prague – which has been an excellent event – I decided to share some of the things I presented as a blog post to maybe shed some light on some of those topics. One of those ideas presented was the way PostgreSQL handles joins and especially join orders. Internally the PostgreSQL […]
PostgreSQL: Why true Open Source matters
PGConfEU2023 is over and a New Year has started. For those who did not manage to make it to Prague to attend the conference, I wanted to use the occasion, to sum up what I tried to communicate during my keynote session and reflect a bit on the importance of true Open Source versus Closed […]
Optimizing PostgreSQL functions with preloaded libraries
In PostgreSQL, functions and procedures can be written in many different programming languages including but not limited to PL/pgSQL, PL/Perl, PL/Python and a lot more. This flexibility gives the end user the choice to write code in languages of their choice. However, this flexibility has some implications which are often forgotten. Loading libraries early is one […]
Citus live query inspection using citus_stat_activity
Most people who use PostgreSQL on a regular basis may have seen pg_stat_activity, which is a system view. It gives you real-time information about what is happening on your database server. It has grown over the years to provide ever more information about system processes, database connections, parallelism and a lot more. However, if you […]
Connection Management in PostgreSQL – reserved_connections
In PostgreSQL 16, a new feature has been added: reserved_connections. What is the idea behind it? Back in the old days, DBA’s and software developers tended to work as a superuser (= postgres user). However, this is not ideal for security reasons. Therefore the PostgreSQL community has worked hard to reduce the necessity of connecting […]
Kubernetes: Running the CYBERTEC PostgreSQL operator
Kubernetes is a powerful and popular container orchestration platform that offers numerous benefits for organisations and developers. Many companies out there these days rely on Kubernetes (or some flavour of it including Rancher, OpenShift, etc.) to automate their environments. PostgreSQL is perfectly suitable to run on Kubernetes. The way to handle a large relational database […]
Using multiple triggers on the same table in PostgreSQL
“Developers, developers, developers, …” – let us not remind ourselves of this painful Microsoft presentation which was given by Mr Ballmer some time ago. But what happens if we deploy triggers, triggers, triggers in PostgreSQL? And what happens if we deploy them all on the very same table? That’s an interesting question, and important to […]
kill -9 explained for PostgreSQL
Do you want to kill a database connection? Or maybe you want to use kill -9? On your PostgreSQL database server? Well, there are things you should be aware of before you do that. The question we want to answer in this blog therefore is: How do I kill PostgreSQL processes properly? Killing PostgreSQL processes […]
ERROR: current transaction is aborted in PostgreSQL
Whenever you actively use transaction blocks in PostgreSQL “ERROR: current transaction is aborted, commands ignored until end of transaction block” is by far most often seen error message of them all. However, this does not imply that it is also the most widely understood error message of them all. This blog will hopefully provide some […]
Kill long running queries in PostgreSQL
How to terminate long running queries in PostgreSQL: People might be fans of SQL, people might like PostgreSQL on Kubernetes or people might even love database ORMs. But have you ever heard of a single person who loves slow queries? In 20+ years of professional database engineering, I have not seen a single fan club […]
pg_resetwal: When to reset the WAL in PostgreSQL
pg_resetwal (formerly known as pg_resetxlog) is a command provided by PostgreSQL which allows you to reset the WAL (Write Ahead Log) in case of trouble. It is a means of last resort to get a broken database server to start. However, what happens behind the scenes when this command is called? Is it dangerous? Required? […]
Migrate from Sybase to PostgreSQL
In 1987, Sybase Adaptive Server Enterprise (Sybase ASE, now SAP ASE) was released to the public, and was adopted by a fair number of users over the years. However, nothing lasts forever; SAP has announced the end of mainstream maintenance (EoMM) by 2025. Sybase ASE is dead. Those still using Sybase face the need to […]