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(…)
PostgreSQL pgvector, a guide for DBA – Part2 indexes 09.03.2025 by Adrien Obernesser Introduction In the last blog post we did setup a LAB with a DVDRental database mixed with Netflix data on top which we created some embeddings hosted on the same tables thanks to pgvector. In this second part, we(…)
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(…)
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(…)
PostgreSQL pgvector, a guide for DBA – Part1: LAB DEMO 09.02.2025 by Adrien Obernesser Introduction The first release of pgvector occurred in April 2021. Since then a lot has changed and is still changing. Even though we could say that the level of maturity of AI stacks and usage is currently really amazing, things(…)
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(…)