September 25, 2025 - ThePostgreSQL Global Development Group today announced the release ofPostgreSQL 18, the latest version of the world's most advanced open source database.
PostgreSQL 18 improves performance for workloads of all sizes through a new I/O subsystem that has demonstrated up to 3× performance improvements when reading from storage, and also increases the number of queries that can use indexes. This release makes major-version upgrades less disruptive, accelerating upgrade times and reducing the time required to reach expected performance after an upgrade completes. Developers also benefit from PostgreSQL 18 features, including virtual generated columns that compute values at query time, and the database-friendlyuuidv7()
function that provides better indexing and read performance for UUIDs. PostgreSQL 18 makes it easier to integrate with single-sign on (SSO) systems with support for OAuth 2.0 authentication.
"The efforts of the global open source community shape every PostgreSQL release and help deliver features that meet users where their data resides," said Jonathan Katz, a member of the PostgreSQL core team. "PostgreSQL 18 builds on the project's long, rich history of delivering a reliable and robust data management experience, while continuing to expand the workloads it can support."
PostgreSQL, an innovative data management system known for its reliability, robustness, and extensibility, benefits from nearly 30 years of open source development from a global developer community and has become the preferred open source relational database for organizations of all sizes.
PostgreSQL previously relied on operating system readahead mechanisms to accelerate data retrieval. However, because operating systems lack insight into database-specific access patterns, they cannot always anticipate what data will be required, leading to suboptimal performance in many workloads.
PostgreSQL 18 introduces a new asynchronous I/O (AIO) subsystem designed to address this limitation. AIO lets PostgreSQL issue multiple I/O requests concurrently instead of waiting for each to finish in sequence. This expands existing readahead and improves overall throughput. AIO operations supported in PostgreSQL 18 include sequential scans, bitmap heap scans, and vacuum. Benchmarking has demonstrated performance gains of up to 3x in certain scenarios.
The newio_method
setting lets you toggle between the AIO methods, includingworker
andio_uring
, or you can choose to maintain the current PostgreSQL behavior with thesync
setting. There are now more parameters to consider tuning with AIO, which you canlearn more about in the documentation.
A key PostgreSQL feature is the generation and storage ofstatistics that helpPostgreSQL select the most efficient query plan. Before PostgreSQL 18, thesestatistics didn't carry over on amajor version upgrade,which could cause significant query performance degradations on busy systemsuntil theANALYZE
finished running. PostgreSQL 18 introduces the ability to keep plannerstatistics through a major version upgrade, which helps an upgraded clusterreach expected performance more quickly after the upgrade.
Additionally,pg_upgrade
,a utility that performs major version upgrades, includes several enhancements inPostgreSQL 18, such as faster upgrades when a database contains many objectslike tables and sequences. This release also letspg_upgrade
process itschecks in parallel based on the settings of the--jobs
flag, and adds the--swap
flag that swaps upgrade directories instead of copying, cloning, orlinking files.
PostgreSQL 18 further accelerates query performance with features that automatically make your workloads faster. This release introduces "skip scan" lookups onmulticolumn B-tree indexes that improve execution time for queries that omit an=
condition on one or more prefix index columns. It can also optimize queries that useOR
conditions in aWHERE
to use an index, leading to significantly faster execution. There are also numerous improvements for how PostgreSQL plans and executes table joins, from boosting the performance of hash joins to allowing merge joins to use incremental sorts. PostgreSQL 18 also supports parallel builds forGIN indexes, joining B-tree andBRIN indexes in supporting this capability.
This release also builds on PostgreSQL support for hardware acceleration, including support for ARM NEON and SVE CPU intrinsics for thepopcount
function, which is used by thebit_count
and other internal capabilities.
PostgreSQL 18 introducesvirtual generated columns that compute values at query time instead of storing them. This is now the default option for generated columns. Additionally, stored generated columns can now be logically replicated.
This release adds the capability to access both the previous (OLD
) and current (NEW
) values in theRETURNING
clause forINSERT
,UPDATE
,DELETE
andMERGE
commands. PostgreSQL 18 also adds UUIDv7 generation through theuuidv7()
function, letting you generate random UUIDs that are timestamp-ordered to support better caching strategies. PostgreSQL 18 includesuuidv4()
as an alias forgen_random_uuid()
.
PostgreSQL 18 addstemporal constraints -- constraints over ranges -- for bothPRIMARY KEY
andUNIQUE
constraints using theWITHOUT OVERLAPS
clause, and onFOREIGN KEY
constraints using thePERIOD
clause.
Finally, PostgreSQL 18 makes it easier to create the schema definition of a foreign table using the definition of a local table with theCREATE FOREIGN TABLE ... LIKE
command.
PostgreSQL 18 makes text processing easier and faster with several new enhancements. This release adds thePG_UNICODE_FAST
collation, which provides full Unicode semantics for case transformations while helping to accelerate many comparisons. This includes theupper
andlower
string comparison functions and the newcasefold
function for case-insensitive comparisons. Additionally, PostgreSQL 18 now supports makingLIKE
comparisons over text that uses anondeterministic collation, simplifying how you can perform more complex pattern matching. This release also changesfull text search to use the default collation provider of a cluster instead of always using libc, which may require you to reindex allfull text search andpg_trgm
indexes after runningpg_upgrade
.
PostgreSQL 18 introducesoauth
authentication, which lets users authenticate using OAuth 2.0 mechanisms supported through PostgreSQL extensions. Additionally, PostgreSQL 18 includes validation forFIPS mode, and adds thessl_tls13_ciphers
parameter for configuring server-side TLS v1.3 cipher suites.
This release deprecatesmd5
password authentication, which will be removed in a future release. If you require PostgreSQL password-based authentication, useSCRAM authentication. PostgreSQL 18 also supports SCRAM passthrough authentication with bothpostgres_fdw
anddblink
for authenticating to remote PostgreSQL instances. Additionally,pgcrypto
now supportsSHA-2 encryption for password hashing.
PostgreSQL 18 supports reporting logical replication write conflicts in logs and in thepg_stat_subscription_stats
view. Additionally,CREATE SUBSCRIPTION
now defaults to using parallel streaming for applying transactions, which can help improve performance. Thepg_createsubscriber
utility now has an--all
flag so you can create logical replicas for all databases in an instance with a single command. PostgreSQL 18 also lets you automaticallydrop idle replication slots to help prevent storing too many write-ahead log files on a publisher.
PostgreSQL 18 improves itsvacuum strategy by proactively freezing more pages during regular vacuums, reducing overhead and helping in situations that require aggressive vacuums.
PostgreSQL 18 adds more details toEXPLAIN
, which provides information about query plan execution, and as of this release now automatically shows how many buffers (the fundamental unit of data storage) are accessed when executingEXPLAIN ANALYZE
. Additionally,EXPLAIN ANALYZE
now shows how many index lookups occur during an index scan, andEXPLAIN ANALYZE VERBOSE
includes CPU, WAL, and average read statistics. PostgreSQL 18 includes more info inpg_stat_all_tables
on time spent on vacuum and related operations, as well as per-connection statistics on I/O and WAL utilization.
Databases initialized with PostgreSQL 18initdb
now have page checksums enabled by default. This can affect upgrades from non-checksum enabled clusters, which would require you to create a new PostgreSQL 18 cluster with the--no-data-checksums
option when usingpg_upgrade
.
PostgreSQL 18 also introduces a new version (3.2) of the PostgreSQL wire protocol, the first new protocol version since PostgreSQL 7.4 (2003).libpq
still uses version 3.0 by default while clients (e.g., drivers, poolers, proxies) add support for the new protocol version.
Many other new features and improvements have been added to PostgreSQL 18 that may also be helpful for your use cases. Please see therelease notes for a complete list of new and changed features.
PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Since its beginnings at the University of California, Berkeley over 40 years ago, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 35 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
Learn more about PostgreSQL and participate in our community atPostgreSQL.org.
For explanations of the above features and others, please see the followingresources:
There are several ways you can download PostgreSQL 18, including:
Other tools and extensions are available on thePostgreSQL Extension Network.
PostgreSQL 18 comes with HTML documentation as well as man pages, and you can also browse the documentation online in bothHTML andPDF formats.
PostgreSQL uses thePostgreSQL License, a BSD-like "permissive" license. ThisOSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.
Website
Postgres and PostgreSQL and the Elephant Logo (Slonik) are all registered trademarks of thePostgreSQL Community Association. If you wish to use these marks, you must comply with thetrademark policy.
PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See oursponsors page for some of these project supporters.
There is also a large community ofcompanies offering PostgreSQL Support, from individual consultants to multinational companies.
If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit ourdonations page.