Logging to syslog is not a new PostgreSQL feature at all. Still, I find few people using it, so perhaps an introductory tutorial will be helpful. Since today’s Linux distributions normally use journald for logging, I’ll focus on that. Syslog terminology Syslog is the de-facto logging standard on Unix systems. A syslog daemon receives […]
Read moreWe are looking for two dynamic, motivated and German-speaking junior PostgreSQL support employees based in Germany and in Würzburg (Germany) to join our support team. Responsibilities: Assist in the deployment, configuration, and maintenance of PostgreSQL databases within Kubernetes environments using operators. Collaborate with the team to ensure the high availability and performance of PostgreSQL databases […]
Read moreWe are looking for two experienced Senior PostgreSQL Support Database Engineers based in Germany and in Würzburg (Germany) to lead and expand our Support Operations team. Responsibilities: Lead the design, implementation, and maintenance of PostgreSQL databases in Kubernetes environments using operators. Provide expertise in database performance tuning, query optimization, and high availability solutions, including Patroni. […]
Read more I recently investigated a surprising behavior of the DBeaver database client in connection with PostgreSQL parallel query, which I’d like to share with you. This might be interesting for everybody who accesses PostgreSQL using the JDBC driver. Some basics about PostgreSQL parallel query Parallel query concepts Parallel query was introduced in PostgreSQL 9.6 and […]
Read moreIn 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 […]
Read moreIn 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 […]
Read moreWhenever 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 […]
Read moreHow 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 […]
Read morepg_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? […]
Read moreIn 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 […]
Read moreRow store vs. column store – a lot has been written about this topic in the context of PostgreSQL and Citus. What does it really mean and what are the implications? Are column stores “always cool” and “always beneficial”? No, there’s more to it – which requires a closer look. When trying to understand the […]
Read moreWhen dealing with data (and life in general) small things can have a major impact. The difference between “hired” and “fired” is just one simple character, but in many cases it does have real world implications. The question is: How can we use good old community Open Source PostgreSQL to do a fuzzy search, in […]
Read more