Blog: PostgreSQL
Recent posts
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
...
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.
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:
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.
We continue to follow the news about PostgreSQL 18. The January CommitFest brings in some notable improvements to monitoring, as well as other new features.
You can find previous reviews of PostgreSQL 18 CommitFests here: 2024-07, 2024-09, 2024-11.
EXPLAIN (analyze): buffers on by defaultpg_stat_io: input/output statistics in bytes instead of pagespg_stat_io: WAL statisticspg_stat_get_backend_io: I/O statistics for a specific processVACUUM(verbose): visibility map informationTotal vacuum and analysis time per tableautovacuum: change the number of workers without restarting the serverpsql: connection service informationpsql: expanded display for \d* commandspsql: leakproof flag in \df* outputjsonb: null conversion to other typesMD5 encryption algorithm: end-of-support preparationsNew function uuidv7postgres_fdw: SCRAM authentication without storing the passwordpasswordcheck: minimum password lengthNew function casefold and pg_unicode_fast collationDML commands: RETURNING with OLD and NEWto_number: convert a string of roman numberals to numeric
We continue the series of articles about new patches coming to PostgreSQL 18, this one covering the news of the November CommitFest.
If you missed the previous reviews, you can check them out here: 2024-07, 2024-09.
- initdb: checksum calculation enabled by default
- Planner: array lookup instead of multiple similar conditions under OR
- Planner: switching around expressions in DISTINCT clauses
- GROUPING SETS: HAVING -> WHERE
- Data type cache entry invalidation and temporary tables
- Planner: incremental sorting during Merge Join
- New function array_reverse
- Functions min and max for the type bytea
- Parallel worker usage statistics
- New function pg_ls_summariesdir
- new contrib module: pg_logicalsnapinspect
- Improved extension installation error messages
- NOT NULL constraints in the system catalog
- A TOAST table for pg_index
- COPY... FROM and file_fdw: rejected row limit
- LIKE support with nondetermenistic collations
- TLS v1.3: cipher suites
Statistically, September CommitFests feature the fewest commits. Apparently, the version 18 CommitFest is an outlier. There are many accepted patches and many interesting new features to talk about.
If you missed the July CommitFest, get up to speed here: 2024-07.
- Conflict detection and logging in logical replication
- Planner: no more 10000000000
- Planner: memory management and usage monitoring for temporary tuple storage
- Reading buffers during index backwards scan
- pg_upgrade: asynchronous operations in multiple databases
- Hash Join speed-up
- Faster text value processing in JSON
- Optimized numeric-type multiplication
- Optimized numeric-type division
- ANALYZE ONLY and VACUUM ONLY
- Improved checkpointer statistics
- pg_stat_statements: normalization of SET commands
- postgres_fdw_get_connections and remote connection status
- file_fdw: ignore format conversion errors
- New function has_largeobject_privilege
- Functions crc32 and crc32c
- Client-server protocol: report search_path changes to the client
- psql: support for named prepared statements
- pg_verifybackup: integrity verification for tar backups
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.