PolarDB for PostgreSQL 18 is now available. This version is compatible with PostgreSQL 18 and includes performance improvements, streamlined operations, and new features.
Release date
January 10, 2026 (Singapore time)
Billing
This product supports subscription and pay-as-you-go billing models. which provide flexible billing options. For more information about billing, see Product Billing.
What's new in this version
Built on community PostgreSQL 18, PolarDB for PostgreSQL 18 includes exclusive features:
Feature | Description |
GanosBase spatiotemporal engine | Geospatial and temporal data processing |
Global plan cache | Query plan caching across sessions |
GBK/GB18030 character sets | Chinese character encoding support |
Supported extensions
This release supports the following 26 PostgreSQL extensions:
hypopg ip4r mysql_fdw pase pgaudit pg_bigm pg_cron pg_filedump pg_hint_plan pgjwt pg_net pg_similarity pgsodium pg_stat_kcache pgtap pgvector pldebugger postgres-decoderbufs prefix roaringbitmap sequential_uuids ganos varbitx vault wal2json zhparser
Performance optimizations
PolarDB for PostgreSQL 18 includes the following system-level optimizations:
Optimization | Description |
Profile-Guided Optimization (PGO) | Compiler-level optimization based on runtime profiles |
Binary Optimization and Layout Tool (BOLT) | Post-link binary optimization |
Link-Time Optimization (LTO) | Cross-module optimization at link time |
I/O optimizations | Batch file reads/writes and expansion, batch dirty page flushing |
For complete PostgreSQL 18 release information, see PostgreSQL 18 Release Notes.
Key improvements
System-level performance
Feature | Improvement |
Asynchronous I/O | Backend can send multiple read requests in parallel, improving sequential scans, bitmap heap scans, and VACUUM efficiency. |
Query optimization | Optimizer automatically removes unnecessary self-joins and converts |
B-tree skip scan | B-tree indexes now support skip scan for improved query performance. |
GIN parallel builds | GIN indexes support parallel creation for faster index maintenance. |
VACUUM optimization |
|
Developer experience
Feature | Improvement |
Virtual generated columns | Generated columns are now virtual by default—values are computed on read instead of stored on write, saving storage space. |
RETURNING clause enhancements | Supports |
High availability and logical replication
Feature | Improvement |
Generated column replication | Logical replication now supports generated columns. |
Parallel streaming | The default value of the |
Conflict detection | New logical replication conflict log helps identify and resolve data synchronization issues. |
Security and access control
Feature | Improvement |
Authentication | MD5 password authentication is deprecated. OAuth authentication method is introduced for modern, secure identity verification. |
Permission functions | New |
Upgrade guide
We recommend upgrading to PolarDB for PostgreSQL 18 to stay current with PostgreSQL community updates and access the latest resources and best practices.
When upgrading from PolarDB for PostgreSQL 17, most data types, built-in functions, table columns, and objects remain unchanged. You can achieve nearly 100% compatibility using logical replication. We recommend using DTS for migrations between PolarDB for PostgreSQL versions.
This topic covers differences between PolarDB for PostgreSQL 18 and 17. For other version differences, see Differences between PostgreSQL 17 and PostgreSQL 16, Differences between PostgreSQL 16 and PostgreSQL 15, and Differences between PostgreSQL 15 and PostgreSQL 14.
Behavior changes
Change | Description |
Data checksums |
|
Time zone abbreviations | Processing now prioritizes current session settings. |
MD5 deprecation | Setting MD5 passwords with |
Full-text search | Configuration file and dictionary reads now use the cluster's default collation provider. |
System view changes
View | Change |
| The |
| Now includes statistics for time consumed by |
| The |
| The index base changed from 0 to 1. |
New functions
Function | Purpose |
| Case-insensitive string matching |
| UUID version 7 generation (time-ordered) |
| Cyclic redundancy check (CRC) calculation |
| Array sorting and reversal |
| Access control list details retrieval |
| Large object permission checking |
Function changes
Function | Change |
| Support array and composite types. |
| New |
Permission changes
Change | Description |
| Supports defining default permissions for large objects. |
| New predefined role is added |
| Support for the obsolete Rule permission is removed. |
Other changes
Change | Description |
| Now process inherited child tables of a parent table by default. |
| No longer treats |
Unlogged partitioned tables | Creation is now prohibited. |
| Execute with the role that was active when the trigger event was queued. |
| The default value of the |