Blog: PostgreSQL

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

September 25, 2025   •   PostgreSQL

September 25th marks the release of PostgreSQL 18. This article covers the March CommitFest and concludes the series covering the new features of the upcoming update. This article turned out quite large, as the last March CommitFest is traditionally the biggest and richest in new features.

You can find previous reviews of PostgreSQL 18 CommitFests here: 2024-07, 2024-09, 2024-11, 2025-01.

Client and Server Applications

  • pg_dump[all]/pg_restore: dump and restore statistics
  • Collect statistics after server upgrade
  • pg_upgrade --swap: migrate directories to a new cluster
  • pg_combinebackup --link: hard links instead of copying files
  • pg_dump[all], pg_restore: --no-policies
  • pg_createsubscriber: enable two_phase for all subscriptions
  • pg_createsubscriber: remove publications on subscriber
  • pg_createsubscriber: create subscriptions for every database on the publication server
  • psql: pipeline mode
  • psql: current connection information
  • psql: set the default time interval for \watch
  • psql: \dx displays the default extension version

Monitoring

  • NUMA: monitoring tools for non-uniform memory access architectures
  • pg_stat_get_backend_wal: WAL statistics for a specific process
  • EXPLAIN: actual rows shown to two decimal places
  • EXPLAIN: an interface for adding more options to the command
  • Log failed lock attempts
  • Log session time-to-connect
  • log_line_prefix: local server IP address
  • pg_stat_statements: normalize commands with lists of constants in IN
  • Additional WAL buffer overflow monitoring tools
  • Track vacuum and analyze delays

[Auto]vacuum and Analysis

  • vacuum_truncate: manage the truncation of empty pages at the end of a table
  • More frequent autovacuuming of dead tuples in large tables
  • Autovacuum triggers sooner after new rows are inserted
  • Eager freezing to amortize aggressive vacuum

Performance

  • Asynchronous input/output
  • io_combine_limit: increase maximum allowed limit to 1MB
  • Read stream interface usage
  • BTree indexes: skipping the condition on the index’s leading column
  • GiST indexes: fast index creation using the sortsupport method
  • Planner: replacing IN (VALUES ...) with array search
  • Planner: eliminating redundant self-joins

Procedural Languages

  • PL/pgSQL: passing named values of cursor parameters using =>

Replication

  • multiple_unique_conflicts: another logical replication conflict
  • idle_replication_slot_timeout: canceling inactive slots by timeout
  • max_active_replication_origins: maximum number of replication origins

Security

  • Support for the OAuth 2.0 authorization protocol
  • dblink: using pass-through SCRAM authentication
  • pgcrypto: support for sha256crypt and sha512crypt password hashing algorithms
  • pgcrypto: support for CFB mode for the AES encryption standard
  • ALTER DEFAULT PRIVILEGES and large objects
  • libpq: the sslkeylogfile parameter

Server

  • Temporal primary, unique, and foreign keys
  • Virtual computed columns
  • NOT NULL integrity constraints: creation without validation, enabling and disabling inheritance
  • Integrity constraints: NOT ENFORCED
  • file_copy_method: method for copying files when creating a database
  • extension_control_path: location of extension control files
  • Nondeterministic collations: support for substring search functions
  • The gamma and lgamma functions
  • Conversion of integer types to bytea and back
  • The pg_get_loaded_modules function: information about libraries loaded into shared memory
  • pg_buffercache: evict tables or the entire cache
  • amcheck: GIN index verification

SQL commands and built-in functions

  • CREATE FOREIGN TABLE LIKE
  • COPY ... TO: materialized view support
  • The json_strip_nulls function removes empty values in arrays
  • New array_sort function

...

September 4, 2025   •   PostgreSQL

Postgres Professional, a developer of data management products, has released version 17.5.1 of its Postgres Pro Enterprise DBMS. The system now supports embedded analytics, offers automated database tuning, introduces a new backup technology, and much more.

September 4, 2025   •   PostgreSQL

Postgres Professional introduces a scheduled update to the Postgres Pro Enterprise Manager (PPEM) platform—a comprehensive administration and maintenance solution for Postgres Pro databases. The new release includes features for real-time infrastructure monitoring, performance bottleneck detection, and management of Patroni-based high-availability clusters.

Browse by keywords:

September 4, 2025   •   PostgreSQL

Postgres Professional has issued updates for Postgres Pro Standard. Versions 13.21.1, 14.18.1, 15.13.1, 16.9.1 and 17.5.1 are now available for download and upgrade from the official repository.

Below is an overview of the fixes and enhancements that have been updated or newly introduced for 17.5.1 users.

November 20, 2024   •   PostgreSQL

This article is the first in the series about the upcoming PostgreSQL 18 release. Let us take a look at the features introduced in the July CommitFest.