Blog

Our blog is where our Postgres Pro experts share their knowledge with the community. Blog posts cover a variety of topics, including Postgres internals, extensions and monitoring solutions.

Recent posts

October 23   •   PostgreSQL

PostgreSQL 19: part 5.4 (SQL, DEV1 and DEV2) of CommitFest 2026-03

We’re wrapping up our review of the March CommitFest for PostgreSQL 19. This fourth and final article in the series covers the changes related to SQL and to our DEV1 and DEV2 courses.

As a reminder, here’s the plan for our coverage of the final PostgreSQL 19 CommitFest:

Part 5.1 (QPT)

Part 5.2 (DBA1, DBA2)

Part 5.3 (DBA3, DBS)

Part 5.4 (SQL, DEV1, DEV2) -- you are here 🙂

For the earlier CommitFests, see: 2025-07, 2025-09, 2025-11, 2026-01.

Here’s what’s covered:

  • INSERT … ON CONFLICT DO SELECT
  • COPY FROM: replacing invalid values with NULL
  • COPY TO: exporting data in JSON format
  • jsonpath: new string methods
  • IS JSON predicate with domain types
  • postgres_fdw: remote transactions inherit READ ONLY and DEFERRABLE modes
  • Integrity constraints: altering the enforceability of CHECK constraints
  • Integrity constraints: changing the generation expression of virtual columns with CHECK constraints
  • Casting between uuid and bytea, and base32hex format support
  • PL/pgSQL: SELECT … INTO optimization
  • tid_block and tid_offset functions
  • TOAST: lz4 as the default compression method

...

October 20   •   PostgreSQL

PostgreSQL 19: part 5.3 (DBA3 and DBS) of CommitFest 2026-03

We’re continuing our review of the March CommitFest for PostgreSQL 19. This third article in the series covers the changes related to our DBA3 and DBS courses.

As a reminder, here’s the plan for our coverage of the final PostgreSQL 19 CommitFest:

Part 5.1 (QPT)

Part 5.2 (DBA1, DBA2)

Part 5.3 (DBA3, DBS) -- you are here 🙂

Part 5.4 (SQL, DEV1, DEV2)

For the earlier CommitFests, see: 2025-07, 2025-09, 2025-11, 2026-01.

Here’s what’s covered:

  • pg_verifybackup, pg_waldump: reading WAL from tar archives
  • pg_stat_recovery: monitoring replication and recovery
  • psql: replica indicator in the prompt
  • pg_createsubscriber --logdir: writing diagnostics to files
  • Publications: excluding specific tables
  • Logical replication subscriptions: connecting via postgres_fdw
  • wal_sender_shutdown_timeout: limiting the wait for WAL replication at shutdown
  • wal_receiver_timeout: per-user and per-subscription settings
  • SSL: server-side SNI
  • GRANT/REVOKE … GRANTED BY
  • Password expiration warning
  • MD5 passwords: more end-of-support preparations
  • pg_[read|write]_all_data: now for large objects too
  • psql: comments for publications, subscriptions, and extended statistics

...

October 16   •   PostgreSQL

PostgreSQL 19: part 5.2 (DBA1 and DBA2) of CommitFest 2026-03

We’re continuing our review of the March CommitFest for PostgreSQL 19. This second article in the series covers the changes related to our DBA1 and DBA2 courses.

As a reminder, here’s the plan for our coverage of the final PostgreSQL 19 CommitFest:

Part 5.1 (QPT)

Part 5.2 (DBA1, DBA2) -- you are here 🙂

Part 5.3 (DBA3, DBS)

Part 5.4 (SQL, DEV1, DEV2)

For the earlier CommitFests, see: 2025-07, 2025-09, 2025-11, 2026-01.

Here’s what’s covered:

  • REPACK: rewriting a table to reclaim disk space
  • Autovacuum: table processing order
  • Autovacuum: parallel index vacuuming
  • Enhanced transaction ID wraparound warnings
  • Checkpoint reason in the completion log message
  • Less WAL and on-access visibility map updates
  • More code paths use read streams
  • pg_stat_lock: statistics on long lock waits
  • pg_upgrade: faster large object transfer, part 2
  • oid2name: file paths relative to PGDATA
  • psql: comments on internal queries
  • log_min_messages per backend type
  • Stats reset time for pg_stat_database_conflicts and pg_statio_all_sequences

...

Browse by keywords:

October 14   •   PostgreSQL

PostgreSQL 19: part 5.1 (QPT) or CommitFest 2026-03

We’re wrapping up our series of articles reviewing the changes in PostgreSQL 19. The previous articles covered the first four CommitFests: 2025-07, 2025-09, 2025-11, 2026-01.

Today we begin our review of the March 2026 CommitFest. Why «begin»? As in previous years, the March review is going to be a long one: the final CommitFest of the cycle is where many of the most important changes land. Such a review is hard not only to write but also to read all the way through 🙂. That’s why this time it’s split into four articles.

The first article covers everything related to query optimization, in other words, the topics of our QPT training course. The second will focus on changes more relevant to the DBA1 and DBA2 courses. The third will cover DBA3 and DBS. The fourth will look at new SQL features, as well as changes related to the DEV1 and DEV2 courses.

RevertFest

But first, let’s look at what won’t make it into version 19. An impressive number of features were committed to version 19 before the feature freeze, only to be reverted before the release:

At the time of writing, not all open items have been resolved, and the release is tentatively scheduled for October 29. So the list of new features may shrink further.

CommitFest

With that caveat in mind, let’s move on to the changes related to query optimization. Here’s what’s covered:

  • Query plan stabilization and plan advice
  • auto_explain: logging EXPLAIN options added by extensions
  • EXPLAIN (analyze, timing): reducing timing overhead
  • Planner: IS DISTINCT FROM with non-nullable inputs
  • Planner: cardinality estimation for NOT IN (NULL, …) expressions
  • Planner: anti-join for NOT IN with a subquery
  • Planner: anti-join in queries with a left outer join
  • Extended statistics on virtual generated columns
  • postgres_fdw: importing statistics for foreign tables
  • JIT compilation is disabled by default

...

October 12   •   Company Updates

Postgres Pro Enterprise Manager with AI-assistant — video review

In the review, Product Manager Boris Pishchik explained how Postgres Pro Enterprise Manager works

October 7   •   Company Updates

Postgres Professional Introduces Postgres Pro Enterprise Manager 2.10 with Healthcheck Advisor

The main innovation of the release is the Healthcheck Advisor workload analyzer, which detects deviations in DBMS behavior and generates recommendations to resolve them. The version also includes support for external storage for active session history, dashboard customization, and graphical display of cluster topology

September 3   •   Company Updates

Postgres Professional Introduces Postgres Pro Enterprise Manager 2.9 with an Enhanced Operation Control Centre and Mutual TLS Authentication

The release includes improvements to the Operation Control Centre, enhanced performance diagnostics tools, and stronger mechanisms for securing interaction between system component

July 16   •   Company Updates

A step-by-step practical guide to seamlessly improve your database security

You’ll learn how to automatically identify sensitive data within database tables, generate detailed reports for security teams, and leverage these insights to select the appropriate protection mechanisms
June 29   •   Company Updates

Postgres Professional announces the release of the DBMS administration platform, Postgres Pro Enterprise Manager 2.7

Version 2.7 develops the platform as a unified workspace for enterprise DBA tasks: an administrator can get expert support faster, view the history of changes in the infrastructure, configure critical backup processes, and analyze performance without switching between different tools

June 16   •   PostgreSQL

We’re excited to announce that the DBA2 Configuration and Monitoring of PostgreSQL 16 course has been published in English.

The goal of this course is to give you a solid understanding of PostgreSQL’s internal architecture. This knowledge is key to tuning parameters effectively and using monitoring to refine your initial configuration. The course also covers a range of administration topics that go beyond the DBA1 material.

All course materials are freely available for self-study. Don’t miss the Student’s Guide—it walks you through setting up the virtual machine and completing the practical tasks.

The course was translated by Elena Sharafutdinova, with special thanks to Ilya Bashtanov and Alexander Meleshko for their reviews and help preparing the materials.

Some topics from the course are explored in more depth in Egor Rogov’s book PostgreSQL Internals, which is also available as a free ebook on our site.

Other courses already available in English include:

  • DBA1—a beginner-friendly course covering PostgreSQL architecture, installation, server configuration, and management, plus an overview of access control, backup, and replication.
  • DEV1—a foundational course for backend developers, covering PostgreSQL architecture, basic database objects, server-side programming in SQL and PL/pgSQL, basic data types (including composite types and arrays), and client-side interactions.

We’re continuing to translate our courses, which were previously only available to Russian-speaking audiences. More to come—stay tuned.

May 25   •   Company Updates

Postgres Pro Shardman 18 — Review

Postgres Pro Shardman 18 — a distributed relational database for high-load, rapidly growing systems with large data volumes

March 17   •   Company Updates

Postgres Pro Enterprise 18 — video review

Get a deep dive into all of the features with the video review

March 16   •   PostgreSQL

Continuing the series of CommitFest 19 reviews, today we’re covering the January 2026 CommitFest.

The highlights from previous CommitFests are available here: 2025-07, 2025-09, 2025-11.

  • Partitioning: merging and splitting partitions
  • pg_dump[all]/pg_restore: dumping and restoring extended statistics
  • file_fdw: skipping initial rows
  • Logical replication: enabling and disabling WAL logical decoding without server restart
  • Monitoring logical replication slot synchronization delays
  • pg_available_extensions shows extension installation directories
  • New function pg_get_multixact_stats: multixact usage statistics
  • Improvements to vacuum and analyze progress monitoring
  • Vacuum: memory usage information
  • vacuumdb --dry-run
  • jsonb_agg optimization
  • LISTEN/NOTIFY optimization
  • ICU: character conversion function optimization
  • The parameter standard_conforming_strings can no longer be disabled

...

March 13   •   PostgreSQL

This article reviews the November 2025 CommitFest.

For the highlights of the previous two CommitFests, check out our last posts: 2025-07, 2025-09.

  • Planner: eager aggregation
  • Converting COUNT(1) and COUNT(not_null_col) to COUNT(*)
  • Parallel TID Range Scan
  • COPY … TO with partitioned tables
  • New function error_on_null
  • Planner support functions for optimizing set-returning functions (SRF)
  • SQL-standard style functions with temporary objects
  • BRIN indexes: using the read stream interface for vacuuming
  • WAIT FOR: waiting for synchronization between replica and primary
  • Logical replication of sequences
  • pg_stat_replication_slots: a counter for memory limit exceeds during logical decoding
  • pg_buffercache: buffer distribution across OS pages
  • pg_buffercache: marking buffers as dirty
  • Statistics reset time for individual relations and functions
  • Monitoring the volume of full page images written to WAL
  • New parameter log_autoanalyze_min_duration
  • psql: search path in the prompt
  • psql: displaying boolean values
  • pg_rewind: skip copying WAL segments already present on the target server
  • pgbench: continue running after SQL command errors

...

February 18   •   PostgreSQL

We continue our series of articles reviewing changes in PostgreSQL 19. This time we'll look at what emerged from the September 2025 CommitFest.

The highlights from the first July CommitFest are available here: 2025-07.

  • GROUP BY ALL
  • Window functions: NULL value handling
  • Event triggers in PL/Python
  • More precise error message for incorrect routine parameter names
  • random: random date/time within a specified range
  • base64url format for encode and decode functions
  • New debug_print_raw_parse parameter
  • The log_lock_waits parameter is now enabled by default
  • pg_stat_progress_basebackup: backup type
  • vacuumdb: collecting statistics on partitioned tables
  • Buffer cache: using clock-sweep algorithm to find free buffers
  • Fake table aliases in queries

...