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(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Introduce autovacuum_vacuum_max_threshold 07.02.2025 by Daniel Westermann Vacuum/Autovacuum is one of the critical parts of every PostgreSQL installation. When autovacuum is not configured properly for your workload you’ll suffer from bloat and performance issues sooner or later. Most of the installations we’ve seen run with(…)
Database Administration & Monitoring, Database management PostgreSQL: Indexes and casting 03.02.2025 by Daniel Westermann This is a small reminder to be careful with casting one data type to another in your queries when you want to have an index access rather than a sequential scan. Here is a small example of what can happen:(…)
Database Administration & Monitoring, Database management PostgreSQL 18: Per-relation cumulative statistics for [auto]vacuum and [auto]analyze 31.01.2025 by Daniel Westermann This is about another feature which will most likely show up in PostgreSQL 18 later this year. The statistic system is something which gets more and more details with almost every release of PostgreSQL, and PostgreSQL 18 will be no(…)