PostgreSQL 18 Beta 1 - New Features and Breaking Changes
Source : GitHub - PostgreSQL 18 Beta 1 New Features
Overview
PostgreSQL 18 introduces over 200 new features and changes. This document summarizes all significant new features, improvements, and breaking changes introduced in the Beta 1 release. Meaning these features can disappear too, this is just a beta.
1. Highlights of Major New Features
1.1 Adaptation to Large Scale Environments
- Virtual Columns : Support for virtual (non-stored) columns in tables.
- ONLY Clause for VACUUM/ANALYZE : Now supports partitioned tables to avoid recursive partition scans.
1.2 Reliability Enhancements
-
pg_dumpall
Output Format : Supports formats other than plain text. -
pg_verifybackup
Tar Format : Adds support for tar format verification.
1.3 Maintainability Improvements
-
Statistics Migration :
pg_dump
andpg_dumpall
can now include optimizer statistics. -
Functions for Stats Management : Added functions to set or clear optimizer stats per table/column.
-
pg_restore_relation_stats
,pg_clear_relation_stats
,pg_restore_attribute_stats
,pg_clear_attribute_stats
- Commits: d32d146
-
1.4 Programming Improvements
-
Access to
OLD
andNEW
inRETURNING
clause. - New Function : UUID v7 support.
1.5 Preparations for Future Features
-
Asynchronous I/O Infrastructure : Introduced with
io_method
andio_workers
.- Commits: da72269
-
NUMA Support : Basic infrastructure and views (
pg_shmem_allocations_numa
).- Commit: 8cc139b
2. Breaking Changes & Incompatibilities
2.1 Platform & Tool Support
- Dropped support for: PA-RISC, LLVM < 14, OpenSSL < 1.1.1, Python < 3.6.8.
- Added support: Tcl 9.
2.2 Passwords
-
MD5 passwords : Now deprecated; warning shown by default.
- Commit: db6a4a9
2.3 Configuration
- Removed
--disable-spin-locks
and--disable-atomics
.- Commits: e256266
-
initdb
now enables data checksums by default.- Commit: 04bec89
2.4 SQL & DDL Statements
-
COPY FREEZE : Disallowed on foreign tables.
- Commit: 401a695
-
EXPLAIN :
BUFFERS
enabled by default.- Commit: c2a4078
-
CREATE SUBSCRIPTION : Default
streaming
=parallel
.- Commit: 1bf1140
3. Architecture Changes
3.1 Catalog Changes
-
New Views :
pg_aios
,pg_shmem_allocations_numa
- Added Columns : Many views now include additional metadata, such as constraint enforcement flags, VACUUM/ANALYZE timing, and I/O stats.
3.2 Logical Replication
- Logs detailed conflict types like
insert_exists
,update_differ
,delete_missing
.- Commit: 9758174
- Propagation of generated columns via
publish_generated_columns
.- Commit: 7054186
3.3 Storage I/O Enhancements
- Streaming I/O : Broadened scope to VACUUM, CREATE DATABASE, GiST/SP-GiST, etc.
-
Async I/O : Controlled with
io_method
, can useio_uring
.
4. SQL Enhancements
4.1 ALTER Enhancements
ALTER CONSTRAINT SET INHERIT/NO INHERIT
ADD CONSTRAINT ... NOT VALID
ALTER TABLE ONLY DROP CONSTRAINT
4.2 ANALYZE Improvements
- ONLY Clause : Skip partitions.
- Verbose Stats : Includes I/O, WAL, and delay stats.
5. Utilities & Tooling
-
pg_combinebackup
,pg_createsubscriber
: New utilities. -
pg_stat_io
: Combines WAL and I/O metrics. -
psql \conninfo
: More detailed output.
6. Contrib Modules
Highlights:
-
amcheck
: Enhanced with streaming I/O. - Enhancements to:
pgcrypto
,pg_stat_statements
,postgres_fdw
.
Summary
PostgreSQL 18 Beta 1 introduces significant architectural upgrades and functional improvements while laying the groundwork for upcoming innovations like async I/O and NUMA-aware processing. Compatibility testing is essential for a smooth transition.
Top comments (0)