Database Administration & Monitoring, Database management PostgreSQL 18: Support for asynchronous I/O 10.04.2025 by Daniel Westermann This is maybe one the biggest steps forward for PostgreSQL: PostgreSQL 18 will come with support for asynchronous I/O. Traditionally PostgreSQL relies on the operating system to hide the latency of writing to disk, which is done synchronously and can(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Add function to report backend memory contexts 09.04.2025 by Daniel Westermann Another great feature was committed for PostgreSQL 18 if you are interested how memory is used by a backend process. While you can take a look at the memory contexts for your current session since PostgreSQL 14, there was no(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Allow NOT NULL constraints to be added as NOT VALID 08.04.2025 by Daniel Westermann Before we take a look at what this new feature is about, let’s have a look at how PostgreSQL 17 (and before) handles “NOT NULL” constraints when they get created. As usual we start with a simple table: postgres=# select(…)
Database Administration & Monitoring, Database management PostgreSQL 18: “swap” mode for pg_upgrade 28.03.2025 by Daniel Westermann When you want to upgrade from one major version of PostgreSQL to another you probably want to go with pg_upgrade (or logical replication). There are several modes of operations for this already: –copy: Copy the data(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Add “–missing-stats-only” to vacuumdb 20.03.2025 by Daniel Westermann Loosing all the object statistics after a major version upgrade of PostgreSQL with pg_upgrade is one of the real paint points in PostgreSQL. Collecting/generating the statistics can take much longer than the actual upgrade which is quite painful. A(…)
Database Administration & Monitoring, Database management PostgreSQL 18: More granular log_connections 13.03.2025 by Daniel Westermann Many of our customers enable log_connections because of auditing requirements. This is a simple boolean which is either turned on or off. Once this is enabled and active every new connection to a PostgreSQL database is(…)
Database Administration & Monitoring, Database management PostgreSQL: Unlogged tables and backups 28.02.2025 by Daniel Westermann Recently we faced the following situation and have been asked to analyze the issue: A dump was loaded into a primary instance of PostgreSQL, but the data did not reach the replica. Tables which have been added after the dump(…)
Database Administration & Monitoring, Database management pg_mooncake: (another) Columnar storage for PostgreSQL 25.02.2025 by Daniel Westermann A very, very long time ago I’ve written a blog about cstore_fdw, which brings columnar storage to PostgreSQL. This is now part of Citus and does not anymore come as a separate extension. While this still can be(…)
Cloud, DevOps OpenStack – Deploying the first compute instance 24.02.2025 by Daniel Westermann Once you have your OpenStack playground up and running it is time to actually use it. What we want to do today is to create our first compute instance. Before we can do that, we again(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Virtual generated columns 10.02.2025 by Daniel Westermann This is about another feature which was committed for PostgreSQL 18: Virtual generated columns. Generated columns are available already, but they need to be “STORED”. This means the result of an expression is stored to disk and the result is(…)