Database Administration & Monitoring Why does my first tablespace in PostgreSQL always get the OID 16384? 30.10.2021 by Daniel Westermann For those already familiar with this topic and wonder about the heading, hold on and continue reading. One of the exercises we do in our PostgreSQL DBA Essentials workshop is to create a tablespace. This is to(…)
Database Administration & Monitoring How to efficiently add constraints to existing tables in PostgreSQL 18.10.2021 by Daniel Westermann Is is not a surprise that applications change over time. New tables get added, columns need to be changed or new ones are required, and sometimes you need to add check constraints or foreign keys to already existing tables which(…)
Database Administration & Monitoring PostgreSQL indexes and operators 27.09.2021 by Daniel Westermann Creating a standard B-tree index in PostgreSQL is nothing special and usually we do it without thinking about what happens in the background. For the standard data types like e.g. int or text we do not need to know anything(…)
Database Administration & Monitoring Some basics about time zones in PostgreSQL 23.09.2021 by Daniel Westermann As soon as you have an application which works across time zones you will have to deal with that properly in the database. I've seen many applications that didn't care of that at the beginning, and much work had to(…)
Database Administration & Monitoring In which order do triggers fire in PostgreSQL? 15.09.2021 by Daniel Westermann When you are working with triggers it might be important to know in which order they fire. Of course, a "before" triggers fires before an "after" trigger. But what happens if you have two or more triggers for the same(…)
Database Administration & Monitoring How much shared memory is PostgreSQL using? (2) – details 09.09.2021 by Daniel Westermann In the last post in this two post series we've briefly looked at configuring huge pages on Linux for PostgreSQL. It became clear, that calculating the number of huge pages purely based on the setting of(…)
Database Administration & Monitoring How much shared memory is PostgreSQL using? (1) – basics 08.09.2021 by Daniel Westermann Have you ever wondered if the value of shared_buffers is the only setting which controls how much shared memory PostgreSQL is actually using? There was a nice addition committed to PostgreSQL 15 recently, which helps in answering(…)
Database Administration & Monitoring Temporal tables for PostgreSQL 15? 26.08.2021 by Daniel Westermann One of the features which is currently missing in PostgreSQL is Temporal Tables. Other database systems have that since a long time and many people want to have in PostgreSQL as well. If you don't know what it is,(…)
Database Administration & Monitoring Parallel distinct for PostgreSQL 15 24.08.2021 by Daniel Westermann When parallel execution was introduced with PostgreSQL 9.6 it was quite limited and supported only a few operations to run in parallel. Over time more and more operations were enabled to run in parallel. When PostgreSQL 15(…)
Database Administration & Monitoring What are those *_init files for in PostgreSQL? 24.08.2021 by Daniel Westermann Quite some time ago I've written about relation files in PostgreSQL and when they get created. In that post we talked about the files containing the actual data, the free space map (fsm) and the visibility map(…)