What is New in PostgreSQL 15
PostgreSQL 15 is a major release that brings significant improvements in performance, security, manageability, and developer experience. This version focuses on making large-scale operations faster, enhancing logical replication, introducing new security features, and adding useful SQL capabilities for modern applications.
Key highlights include a redesigned MERGE command, better vacuum performance, improved compression, and stronger security defaults.
Performance Enhancements
PostgreSQL 15 delivers noticeable performance gains across several areas:
- Improved sorting performance with better memory management
- Faster vacuum and autovacuum operations on large tables
- Enhanced compression using LZ4 by default for WAL and TOAST data
- Better query planning for partitioned tables
- More efficient handling of large IN lists and OR conditions
These optimizations help reduce both CPU and I/O usage, especially in analytical and high-transaction workloads.
MERGE Command Improvements
The MERGE statement has been completely redesigned and now fully complies with the SQL standard. It offers more predictable behavior and better performance compared to previous versions.
Key capabilities include:
- Support for
DO NOTHINGand conditionalWHENclauses - Ability to use subqueries in the
USINGclause - Better integration with triggers and constraints
This makes MERGE a much more powerful and reliable tool for upsert operations and data synchronization tasks.
Security Enhancements
Security has been strengthened with several important changes:
- New predefined role
pg_read_all_settingsfor safer configuration monitoring - Support for SCRAM-SHA-256 as the default password encryption method
- Improved TLS certificate handling and verification
- More granular control over access to system catalogs
These changes help organizations meet stricter security and compliance requirements with less effort.
Logical Replication and High Availability
Logical replication has been made more robust and easier to use:
- Support for row filtering on the publisher side
- Improved conflict resolution during replication
- Better performance when replicating large transactions
- New system views for monitoring replication progress
These enhancements make PostgreSQL 15 a stronger choice for distributed database architectures and disaster recovery setups.
SQL and Developer Features
PostgreSQL 15 adds several useful features for developers:
- New
json_table()function for converting JSON data into relational format - Support for
UNNESTwith multiple arrays - Improved support for multirange types
- New system views and functions for easier diagnostics
Monitoring and Administration
| Area | Improvement |
|---|---|
| Vacuum | More efficient index vacuuming and statistics updates |
| Compression | LZ4 enabled by default for better speed and ratio |
| Observability | New columns in pg_stat_activity and pg_stat_database |
| Backup | Improved WAL summarization for faster incremental backups |
Migration Considerations
When upgrading to PostgreSQL 15, keep these points in mind:
- Review your password encryption settings as SCRAM-SHA-256 is now the default
- Test
MERGEstatements carefully due to the new implementation - Evaluate the performance benefits of LZ4 compression on your workload
- Update monitoring queries to take advantage of new statistics columns
PostgreSQL 15 offers a well-balanced set of improvements that enhance performance, security, and ease of use while maintaining excellent compatibility with existing applications.