PostgreSQL 19
Read the English manualPreview · Recorded build 19beta4
This is a preview build. Its notes and features can change before general availability. No final-release date or support end date is asserted here.
- First stable release
- Not released
- Support end
- Not announced here
- Indexed releases
- 1
- Original release-note entries
- 198
Manuals & provenance
PostgreSQL 19 English manual · 1160 loaded pages.
Manual loaded 2026-09-27T00:10:47.078613.
Release entries: 2026-09-26. Security evidence: 2026-09-26. PDF links use the verified English manifest and locally available files. Lifecycle: PostgreSQL versioning policy.
Upgrade considerations
Major upgrades need a migration method such as dump/reload or pg_upgrade. Read the intervening major-release notes and the target manual. Minor updates can also require extra steps; review the specific release's migration notes. Official upgrade policy.
Compatibility notes for 19beta4
Original migration guidance for 19beta4
A dump/restore using pg_dumpall or use of pg_upgrade or logical replication is required for those wishing to migrate data from any previous release. See Section 18.6 for general information on migrating to new major releases.
Version 19 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:
Release history
Every indexed release keeps its original occurrences. CVE counts below are mentions in its notes, including follow-up corrections; they do not count newly fixed vulnerabilities.
Preview changes
Original entries from 19beta4, including feature changes and compatibility notes. Categories aid browsing; they are not upstream classifications.
198 of 198 original entries.
Add server variable password_expiration_warning_threshold to warn about password expiration Compatibility Migration
Add server variable
password_expiration_warning_thresholdto warn about password expiration (Gilles Darold, Nathan Bossart) §The default warning period is seven days.
Original release occurrence ·
19.0/migration/001Issue a warning after successful MD5 password authentication Compatibility Migration
Issue a warning after successful MD5 password authentication (Nathan Bossart) §
The warning can be disabled via server variable
md5_password_warnings. MD5 passwords were marked as deprecated in PostgreSQL 18.Original release occurrence ·
19.0/migration/002Remove RADIUS support Compatibility Migration
Remove RADIUS support (Thomas Munro) §
PostgreSQL only supported RADIUS over UDP, which is unfixably insecure.
Original release occurrence ·
19.0/migration/003Force standard_conforming_strings to always be on in the database server Compatibility Migration
Force
standard_conforming_stringsto always beonin the database server (Tom Lane) §Dumps created using pre-PostgreSQL 19 versions of pg_dump or pg_dumpall, and using
standard_conforming_strings = off, will not properly load into PostgreSQL 19 and later servers. Users should create dumps using PostgreSQL 19 or later versions of these applications, or usestandard_conforming_strings = on.Client applications still support operations with servers having
standard_conforming_strings = off, for compatibility with old servers. The server variableescape_string_warninghas been removed as unnecessary.Original release occurrence ·
19.0/migration/004Disallow carriage returns and line feeds in database, role, and tablespace names Compatibility Migration
Disallow carriage returns and line feeds in database, role, and tablespace names (Mahendra Singh Thalor) §
pg_upgrade will also disallow upgrading of clusters that use such names. This was changed to avoid security problems.
Original release occurrence ·
19.0/migration/005Change the default index opclasses for inet and cidr data types from btree_gist to GiST Compatibility Migration
Change the default index opclasses for
inetandcidrdata types from btree_gist to GiST (Tom Lane) § §The btree_gist
inet/cidropclasses are broken because they can exclude rows that should be returned. pg_upgrade will disallow upgrading of clusters with btree_gistinet/cidrindexes.Original release occurrence ·
19.0/migration/006Disallow system columns from being used in COPY FROM ... WHERE Compatibility Migration
Disallow system columns from being used in
COPY FROM ... WHERE(Tom Lane) §The values of such columns were not well-defined.
Original release occurrence ·
19.0/migration/007Change a json_array() call which returns no rows to return an empty JSON array Compatibility Migration
Change a
json_array()call which returns no rows to return an empty JSON array (Richard Guo) §This previously returned
NULL.Original release occurrence ·
19.0/migration/008Cause transactions to pass their READ ONLY and DEFERRABLE status to postgres_fdw sessions Compatibility Migration
Cause transactions to pass their
READ ONLYandDEFERRABLEstatus to postgres_fdw sessions (Etsuro Fujita) §This means
READ ONLYtransactions can no longer modify rows processed by postgres_fdw sessions.Original release occurrence ·
19.0/migration/009Change default of max_locks_per_transaction from 64 to 128 Compatibility Migration
Change default of
max_locks_per_transactionfrom 64 to 128 (Heikki Linnakangas) §Lock size allocation has changed, so effectively settings must now be doubled to match their capacity in previous releases.
Original release occurrence ·
19.0/migration/010Change JIT to be disabled by default Compatibility Migration
Change JIT to be disabled by default (Jelte Fennema-Nio) §
Previously JIT was enabled by default, and activated based on optimizer costs, but this costing has been determined to be unreliable. This change requires sites that are doing many large analytical queries to manually enable JIT.
Original release occurrence ·
19.0/migration/011Rename column sync_error_count to sync_table_error_count in system view pg_stat_subscription_stats Compatibility Migration
Rename column
sync_error_counttosync_table_error_countin system viewpg_stat_subscription_stats(Vignesh C) §This is necessary since sequence errors are now tracked separately.
Original release occurrence ·
19.0/migration/012Rename wait event type BUFFERPIN to BUFFER Compatibility Migration
Rename wait event type
BUFFERPINtoBUFFER(Andres Freund) §Original release occurrence ·
19.0/migration/013Change index access method handlers to use a static IndexAmRoutines structure, rather than dynamically allocated ones Compatibility Migration
Change index access method handlers to use a static
IndexAmRoutinesstructure, rather than dynamically allocated ones (Matthias van de Meent) §Original release occurrence ·
19.0/migration/014Remove optimizer hook get_relation_info_hook and add better-placed hook build_simple_rel_hook Compatibility Migration
Remove optimizer hook get_relation_info_hook and add better-placed hook build_simple_rel_hook (Robert Haas) §
Original release occurrence ·
19.0/migration/015Change psql's \crosstabview command to honor the \pset null setting Compatibility Migration
Original release occurrence ·
19.0/migration/016Remove MULE_INTERNAL encoding Compatibility Migration
Remove
MULE_INTERNALencoding (Thomas Munro) §This encoding was complex and rarely used. Databases using it will need to be dumped and restored with a different encoding.
Original release occurrence ·
19.0/migration/017Allow NOT IN clauses to be converted to more efficient ANTI JOINs when NULLs are not present Features
Allow
NOT INclauses to be converted to more efficientANTI JOINs when NULLs are not present (Richard Guo) §Original release occurrence ·
19.0/changes/001Allow more LEFT JOINs to be converted to ANTI JOINs Features
Allow more
LEFT JOINs to be converted toANTI JOINs (Tender Wang, Richard Guo) §Original release occurrence ·
19.0/changes/002Allow use of Memoize for ANTI JOINs with unique inner sides Features
Allow use of Memoize for
ANTI JOINs with unique inner sides (Richard Guo) §Original release occurrence ·
19.0/changes/003Allow some aggregate processing to be performed before joins Features
Allow some aggregate processing to be performed before joins (Richard Guo, Antonin Houska) § § §
This can reduce the number of rows needed to be processed.
Original release occurrence ·
19.0/changes/004Improve hash join's handling of tuples with NULL join keys Features
Improve hash join's handling of tuples with
NULLjoin keys (Tom Lane) §Original release occurrence ·
19.0/changes/005Improve the planning of semijoins Features
Improve the planning of semijoins (Richard Guo) §
Original release occurrence ·
19.0/changes/006Allow Append and MergeAppend to consider explicit incremental sorts Features
Allow Append and MergeAppend to consider explicit incremental sorts (Richard Guo) §
Original release occurrence ·
19.0/changes/007Convert IS [NOT] DISTINCT FROM NULL to IS [NOT] NULL during constant folding Features
Convert
IS [NOT] DISTINCT FROM NULLtoIS [NOT] NULLduring constant folding (Richard Guo) §The latter form is more easily optimized.
Original release occurrence ·
19.0/changes/008Simplify IS [NOT] DISTINCT FROM to equality/inequality operators when inputs are proven non-nullable Features
Simplify
IS [NOT] DISTINCT FROMto equality/inequality operators when inputs are proven non-nullable (Richard Guo) §Original release occurrence ·
19.0/changes/009Perform earlier constant folding of var IS [NOT] NULL in the optimizer Features
Perform earlier constant folding of
varIS [NOT] NULLin the optimizer (Richard Guo) §This allows for later optimizations.
Original release occurrence ·
19.0/changes/010Simplify COALESCE() and ROW(...) IS [NOT] NULL to avoid evaluating unnecessary arguments Features
Simplify
COALESCE()andROW(...) IS [NOT] NULLto avoid evaluating unnecessary arguments (Richard Guo) § §Original release occurrence ·
19.0/changes/011Simplify IS [NOT] TRUE/FALSE/UNKNOWN to plain boolean expressions when the input is proven non-nullable Features
Simplify
IS [NOT] TRUE/FALSE/UNKNOWNto plain boolean expressions when the input is proven non-nullable (Richard Guo) §Original release occurrence ·
19.0/changes/012Speed up join selectivity computations for large optimizer statistics targets Performance
Speed up join selectivity computations for large optimizer statistics targets (Ilia Evdokimov, David Geier) §
Original release occurrence ·
19.0/changes/013Enable proper optimizer statistics for functions returning boolean values Features
Enable proper optimizer statistics for functions returning boolean values (Tom Lane) §
Original release occurrence ·
19.0/changes/014Allow extended statistics on virtual generated columns Features
Allow extended statistics on virtual generated columns (Yugo Nagata) §
Original release occurrence ·
19.0/changes/015Allow function pg_restore_extended_stats() to restore optimizer extended statistics Features
Allow function
pg_restore_extended_stats()to restore optimizer extended statistics (Corey Huinker, Michael Paquier, Chao Li) § § § §Original release occurrence ·
19.0/changes/016Add function pg_clear_extended_stats() to remove extended statistics Features
Add function
pg_clear_extended_stats()to remove extended statistics (Corey Huinker, Michael Paquier) §Original release occurrence ·
19.0/changes/017Adjust the optimizer to consider startup costs of partial paths Features
Adjust the optimizer to consider startup costs of partial paths (Robert Haas, Tomas Vondra) §
Original release occurrence ·
19.0/changes/018Allow negative values of pg_aggregate.aggtransspace to indicate unbounded memory usage Features
Allow negative values of
pg_aggregate.aggtransspaceto indicate unbounded memory usage (Richard Guo) §This information is used by the optimizer in planning memory usage.
Original release occurrence ·
19.0/changes/019Improve performance of foreign key constraint checks Performance
Original release occurrence ·
19.0/changes/020Improve asynchronous I/O read-ahead scheduling for large requests Performance
Improve asynchronous I/O read-ahead scheduling for large requests (Andres Freund) § § §
Original release occurrence ·
19.0/changes/021Allow io_method method worker to automatically control needed background workers Performance
Allow
io_methodmethodworkerto automatically control needed background workers (Thomas Munro) §The new server variables are
io_min_workers,io_max_workers,io_worker_idle_timeout, andio_worker_launch_interval.Original release occurrence ·
19.0/changes/022Allow query table scans to mark pages as all-visible in the visibility map Performance
Allow query table scans to mark pages as all-visible in the visibility map (Melanie Plageman) §
Previously only
VACUUMandCOPY ... FREEZEcould do this.Original release occurrence ·
19.0/changes/023Allow autovacuum to use parallel autovacuum workers Performance
Allow autovacuum to use
parallel autovacuum workers(Daniil Davydov) § §The maximum number of workers is controlled by server variable
autovacuum_max_parallel_workersand per-table storage parameterautovacuum_parallel_workers.Original release occurrence ·
19.0/changes/024Allow TID Range Scans to be parallelized Performance
Original release occurrence ·
19.0/changes/025Improve COPY FROM performance for text and CSV input using SIMD CPU instructions Performance
Improve
COPY FROMperformance for text and CSV input using SIMD CPU instructions (Nazir Bilal Yavuz, Shinya Kato) §Original release occurrence ·
19.0/changes/026Improve NOTIFY to only wake up backends that are listening to specified notifications Performance
Improve
NOTIFYto only wake up backends that are listening to specified notifications (Joel Jacobson) §Previously most backends were woken by
NOTIFY.Original release occurrence ·
19.0/changes/027Change wal_compression equals on to use the best WAL compression method available Performance
Change
wal_compressionequalsonto use the best WAL compression method available (wenhui qiu) §Previously this always used
pglz.Original release occurrence ·
19.0/changes/028Change the default TOAST compression method from pglz to the more efficient lz4 Performance
Change the default TOAST compression method from
pglzto the more efficientlz4(Euler Taveira) §This is done by changing the default for server variable
default_toast_compression.Original release occurrence ·
19.0/changes/029Improve performance of internal row deformation Performance
Improve performance of internal row deformation (David Rowley) §
Original release occurrence ·
19.0/changes/030Improve performance of repeated UTF-8 case-folding operations Performance
Improve performance of repeated UTF-8 case-folding operations (Andreas Karlsson) §
Original release occurrence ·
19.0/changes/031Improve performance of hash index bulk-deletion and GIN index vacuuming using streaming reads Performance
Improve performance of hash index bulk-deletion and
GINindex vacuuming using streaming reads (Xuneng Zhou) § §Original release occurrence ·
19.0/changes/032Improve sort performance using radix sort Performance
Improve sort performance using radix sort (John Naylor) §
Original release occurrence ·
19.0/changes/033Improve timing performance measurements Performance
Improve timing performance measurements (Lukas Fittl, Andres Freund, David Geier) § §
This benefits
EXPLAIN (ANALYZE, TIMING)and pg_test_timing, and is controlled via server variabletiming_clock_source.Original release occurrence ·
19.0/changes/034Optimize plpgsql syntax SELECT simple-expression INTO var Performance
Original release occurrence ·
19.0/changes/035Add system view pg_stat_lock and function pg_stat_get_lock() to report per-lock-type statistics Features
Add system view
pg_stat_lockand functionpg_stat_get_lock()to report per-lock-type statistics (Bertrand Drouvot) §Original release occurrence ·
19.0/changes/036Add system view pg_stat_recovery to report recovery status Features
Add system view
pg_stat_recoveryto report recovery status (Xuneng Zhou, Shinya Kato) § §Original release occurrence ·
19.0/changes/037Add system view pg_stat_autovacuum_scores to report per-table autovacuum details Features
Add system view
pg_stat_autovacuum_scoresto report per-table autovacuum details (Sami Imseih) §Original release occurrence ·
19.0/changes/038Add system view pg_dsm_registry_allocations to report dynamic shared memory details Features
Add system view
pg_dsm_registry_allocationsto report dynamic shared memory details (Florents Tselai, Nathan Bossart) § §Original release occurrence ·
19.0/changes/039Add vacuum initiation details to system view pg_stat_progress_vacuum Features
Add vacuum initiation details to system view
pg_stat_progress_vacuum(Shinya Kato) §The new
started_bycolumn reports the initiator of the vacuum, andmodeindicates its aggressiveness.Original release occurrence ·
19.0/changes/040Add analyze initiation details to system view pg_stat_progress_analyze Features
Add analyze initiation details to system view
pg_stat_progress_analyze(Shinya Kato) §The new
started_bycolumn reports the initiator of the analyze.Original release occurrence ·
19.0/changes/041Add mem_exceeded_count column to system view pg_stat_replication_slots Features
Add
mem_exceeded_countcolumn to system viewpg_stat_replication_slots(Bertrand Drouvot) §This reports the number of times that
logical_decoding_work_memwas exceeded.Original release occurrence ·
19.0/changes/042Add slot synchronization skip information to pg_stat_replication_slots and pg_replication_slots Features
Add slot synchronization skip information to
pg_stat_replication_slotsandpg_replication_slots(Shlok Kyal) § § §The new columns are
slotsync_skip_count,slotsync_last_skip, andslotsync_skip_reason.Original release occurrence ·
19.0/changes/043Add update_deleted column to system view pg_stat_subscription_stats Features
Add
update_deletedcolumn to system viewpg_stat_subscription_stats(Zhijie Hou) §This reports the number of rows where updates were ignored due to concurrent deletes. This requires the subscriber have
retain_dead_tuplesenabled.Original release occurrence ·
19.0/changes/044Add sync_seq_error_count column to system view pg_stat_subscription_stats to report sequence synchronization errors Features
Add
sync_seq_error_countcolumn to system viewpg_stat_subscription_statsto report sequence synchronization errors (Vignesh C) § §Original release occurrence ·
19.0/changes/045Add stats_reset column to system views pg_stat_all_tables, pg_stat_all_indexes, and pg_statio_all_sequences Features
Add
stats_resetcolumn to system viewspg_stat_all_tables,pg_stat_all_indexes, andpg_statio_all_sequences(Bertrand Drouvot, Sami Imseih, Shihao Zhong) §It also appears in the
sysanduserview variants.Original release occurrence ·
19.0/changes/046Add stats_reset column to system views pg_stat_user_functions and pg_stat_database_conflicts Features
Add
stats_resetcolumn to system viewspg_stat_user_functionsandpg_stat_database_conflicts(Bertrand Drouvot, Shihao Zhong) § §Original release occurrence ·
19.0/changes/047Add location column to system views pg_available_extensions and pg_available_extension_versions to report the file system directory of extensions Features
Add
locationcolumn to system viewspg_available_extensionsandpg_available_extension_versionsto report the file system directory of extensions (Matheus Alcantara) §Original release occurrence ·
19.0/changes/048Add backup_type column to system view pg_stat_progress_basebackup to report the type of backup Features
Add
backup_typecolumn to system viewpg_stat_progress_basebackupto report the type of backup (Shinya Kato) §Possible values are
fullorincremental.Original release occurrence ·
19.0/changes/049Add connecting value to system view column pg_stat_wal_receiver.status Features
Add
connectingvalue to system view columnpg_stat_wal_receiver.status(Xuneng Zhou) §Original release occurrence ·
19.0/changes/050Add reporting of the bytes written to WAL for full page images Features
Add reporting of the bytes written to WAL for full page images (Shinya Kato) §
This is accessible via system view
pg_stat_waland functionpg_stat_get_backend_wal().Original release occurrence ·
19.0/changes/051Add columns to system views pg_stats, pg_stats_ext, and pg_stats_ext_exprs Features
Add columns to system views
pg_stats,pg_stats_ext, andpg_stats_ext_exprs(Corey Huinker) §Adds table
OIDand attribute number columns topg_stats, and tableOIDand statistics objectOIDcolumns to the other two.Original release occurrence ·
19.0/changes/052Add information about range type extended statistics to system view pg_stats_ext_exprs Features
Add information about range type extended statistics to system view
pg_stats_ext_exprs(Corey Huinker, Michael Paquier) §Original release occurrence ·
19.0/changes/053Allow log_min_messages log levels to be specified by process type Features
Allow
log_min_messageslog levels to be specified by process type (Euler Taveira) §The new format is
type:level. A value without a colon controls all process types, allowing backward compatibility.Original release occurrence ·
19.0/changes/054Add server variable log_autoanalyze_min_duration to log long-running analyze operations by autovacuum operations Features
Add server variable
log_autoanalyze_min_durationto log long-running analyze operations by autovacuum operations (Shinya Kato) §Server variable
log_autovacuum_min_durationnow only controls logging of vacuum operations by autovacuum.Original release occurrence ·
19.0/changes/055Enable server variable log_lock_waits by default Features
Enable server variable
log_lock_waitsby default (Laurenz Albe) §Original release occurrence ·
19.0/changes/056Add server variable debug_print_raw_parse to log raw parse trees Features
Add server variable
debug_print_raw_parseto log raw parse trees (Chao Li) §This is also enabled when the server is started with debug level three and higher.
Original release occurrence ·
19.0/changes/057Make messages coming from remote servers appear in the server logs in the same format as local server messages Features
Make messages coming from remote servers appear in the server logs in the same format as local server messages (Vignesh C) §
These include replication, postgres_fdw, and dblink servers.
Original release occurrence ·
19.0/changes/058Add reporting of WAL full-page write bytes to VACUUM and ANALYZE logging Features
Add reporting of WAL full-page write bytes to
VACUUMandANALYZElogging (Shinya Kato) §Original release occurrence ·
19.0/changes/059Add IO wait events for COPY FROM/TO on a pipe, file, or program Features
Add IO wait events for
COPY FROM/TOon a pipe, file, or program (Nikolay Samokhvalov) §Original release occurrence ·
19.0/changes/060Add wait events for commit_delay and for WAL write and flush LSNs Features
Add wait events for commit_delay and for WAL write and flush LSNs (Xuneng Zhou) § §
Original release occurrence ·
19.0/changes/061Have pg_get_sequence_data() return the sequence page LSN Features
Have
pg_get_sequence_data()return the sequence page LSN (Vignesh C) §Original release occurrence ·
19.0/changes/062Add function pg_get_multixact_stats() to report multixact activity Features
Add function
pg_get_multixact_stats()to report multixact activity (Naga Appani) §Original release occurrence ·
19.0/changes/063Issue warnings when the wraparound of xid and multi-xids is less than 100 million Features
Issue warnings when the wraparound of xid and multi-xids is less than 100 million (Nathan Bossart) §
The previous warning was 40 million. Warnings are issued to clients and in the server log.
Original release occurrence ·
19.0/changes/064Add scoring system to control the order that tables are processed by autovacuum Features
Add scoring system to control the order that tables are processed by autovacuum (Nathan Bossart) §
The new server variables are
autovacuum_freeze_score_weight,autovacuum_multixact_freeze_score_weight,autovacuum_vacuum_score_weight,autovacuum_vacuum_insert_score_weight, andautovacuum_analyze_score_weight.Original release occurrence ·
19.0/changes/065Add server-side support for SNI (Server Name Indication) Features
Add server-side support for SNI (Server Name Indication) (Daniel Gustafsson, Jacob Champion) §
New configuration file
PGDATA/pg_hosts.confspecifies hostname/key pairs.Original release occurrence ·
19.0/changes/066Allow OAuth validators to register custom pg_hba.conf authentication options Features
Allow OAuth validators to register custom
pg_hba.confauthentication options (Jacob Champion, Zsolt Parragi) §Original release occurrence ·
19.0/changes/067Allow roles pg_read_all_data and pg_write_all_data to read/write large objects Features
Allow roles
pg_read_all_dataandpg_write_all_datato read/write large objects (Nitin Motiani, Nathan Bossart) §These roles are designed to allow non-super users to run pg_dump.
Original release occurrence ·
19.0/changes/068Allow background workers to be configured to terminate before database-level operations Features
Allow background workers to be configured to terminate before database-level operations (Aya Iwata) §
This allows database-level operations to complete more quickly since blocking background workers can now be terminated.
Original release occurrence ·
19.0/changes/069Allow server variables that represent lists to be emptied by setting the value to NULL Features
Allow server variables that represent lists to be emptied by setting the value to
NULL(Tom Lane) §Original release occurrence ·
19.0/changes/070Update GB18030 encoding from version 2000 to 2022 Features
Update GB18030 encoding from version 2000 to 2022 (Chao Li, Zheng Tao) §
See the commit message for compatibility details.
Original release occurrence ·
19.0/changes/071Add WAIT command to allow standbys to wait for LSN values to be written, flushed, or replayed Features
Add
WAITcommand to allow standbys to wait for LSN values to be written, flushed, or replayed (Kartyshov Ivan, Alexander Korotkov, Xuneng Zhou) § §Original release occurrence ·
19.0/changes/072Improve function pg_sync_replication_slots() to wait for replication synchronization completion Features
Improve function
pg_sync_replication_slots()to wait for replication synchronization completion (Ajin Cherian, Zhijie Hou) §Previously, certain synchronization failures would not be reported.
Original release occurrence ·
19.0/changes/073Add server variable wal_sender_shutdown_timeout to limit replica synchronization waits during shutdown Features
Add server variable
wal_sender_shutdown_timeoutto limit replica synchronization waits during shutdown (Andrey Silitskiy, Hayato Kuroda) §By default, senders still wait forever for synchronization.
Original release occurrence ·
19.0/changes/074Allow sequence values stored in subscribers to match the publisher Features
Allow sequence values stored in subscribers to match the publisher (Vignesh C) § § §
This is enabled during
CREATE SUBSCRIPTION,ALTER SUBSCRIPTION ... REFRESH PUBLICATION, andALTER SUBSCRIPTION ... REFRESH SEQUENCES. The latter only updates values, not sequence existence. Functionpg_get_sequence_data()allows inspection of sequence synchronization.Original release occurrence ·
19.0/changes/075Allow CREATE/ALTER PUBLICATION to publish all sequences Features
Allow
CREATE/ALTER PUBLICATIONto publish all sequences (Vignesh C, Tomas Vondra) §This is enabled with the
ALL SEQUENCESclause.Original release occurrence ·
19.0/changes/076Allow ALTER SUBSCRIPTION on publications to synchronize the existence of sequences on subscribers to match the publisher Features
Allow
ALTER SUBSCRIPTIONon publications to synchronize the existence of sequences on subscribers to match the publisher (Vignesh C) §This is enabled with the
REFRESH SEQUENCESclause.Original release occurrence ·
19.0/changes/077Allow CREATE/ALTER PUBLICATION to exclude some tables Features
Allow
CREATE/ALTER PUBLICATIONto exclude some tables (Vignesh C, Shlok Kyal) § § § §This is controlled with the
EXCEPTclause, and is useful when specifyingALL TABLES.Original release occurrence ·
19.0/changes/078Add CREATE/ALTER SUBSCRIPTION setting retain_dead_tuples to retain information needed for conflict detection Features
Add
CREATE/ALTER SUBSCRIPTIONsettingretain_dead_tuplesto retain information needed for conflict detection (Zhijie Hou) § § §Also add setting
max_retention_durationto limitretain_dead_tuplesretention.Original release occurrence ·
19.0/changes/079Allow CREATE SUBSCRIPTION to use postgres_fdw foreign data wrapper connection parameters Features
Allow
CREATE SUBSCRIPTIONto use postgres_fdw foreign data wrapper connection parameters (Jeff Davis) §The connection parameters are referenced via
CREATE SUBSCRIPTION ... SERVER.Original release occurrence ·
19.0/changes/080When server variable wal_level is replica, allow automatic enablement of logical replication when needed Features
When server variable
wal_levelisreplica, allow automatic enablement of logical replication when needed (Masahiko Sawada) §New server variable
effective_wal_level, application pg_controldata, and functionpg_control_checkpoint()report the effective WAL level.Original release occurrence ·
19.0/changes/081Allow wal_receiver_timeout to be set per-subscription and user Features
Allow
wal_receiver_timeoutto be set per-subscription and user (Fujii Masao) § §This allows subscribers to use different
wal_receiver_timeoutvalues.Original release occurrence ·
19.0/changes/082Add optional pid parameter to pg_replication_origin_session_setup() to allow parallelization of SQL-level replication solutions Features
Add optional pid parameter to
pg_replication_origin_session_setup()to allow parallelization of SQL-level replication solutions (Doruk Yilmaz, Hayato Kuroda) §Original release occurrence ·
19.0/changes/083Allow GROUP BY to process target list subqueries that have expressions referencing non-subquery columns Features
Allow
GROUP BYto process target list subqueries that have expressions referencing non-subquery columns (Tom Lane) §Also fix a bug in how
GROUPING()handles target list subquery aliases.Original release occurrence ·
19.0/changes/084Allow window functions to ignore NULLs with the IGNORE NULLS/RESPECT NULLS clause Features
Allow window functions to ignore NULLs with the
IGNORE NULLS/RESPECT NULLSclause (Oliver Ford, Tatsuo Ishii) §Supported window functions are
lead(),lag(),first_value(),last_value(), andnth_value().Original release occurrence ·
19.0/changes/085Add support for INSERT ... ON CONFLICT DO SELECT ... RETURNING Features
Add support for
INSERT ... ON CONFLICT DO SELECT ... RETURNING(Andreas Karlsson, Marko Tiikkaja, Viktor Holmberg) §This allows conflicting rows to be returned, and optionally locked with
FOR UPDATE/SHARE.Original release occurrence ·
19.0/changes/086Add REPACK command which replaces VACUUM FULL and CLUSTER Features
Add
REPACKcommand which replacesVACUUM FULLandCLUSTER(Antonin Houska) §The two former commands did similar things, but with confusing names, so unify them as
REPACK. The old commands have been retained for compatibility.Original release occurrence ·
19.0/changes/087Allow REPACK to rebuild tables without access-exclusive locking Features
Allow
REPACKto rebuild tables without access-exclusive locking (Antonin Houska, Mihail Nikalayeu, Álvaro Herrera) § § §This is enabled via the
CONCURRENTLYoption. Server variablemax_repack_replication_slotswas also added.Original release occurrence ·
19.0/changes/088Allow GRANT/REVOKE to specify the effective role performing the privileges adjustment Features
Allow
GRANT/REVOKEto specify the effective role performing the privileges adjustment (Nathan Bossart, Tom Lane) §The
GRANTED BYclause controls this.Original release occurrence ·
19.0/changes/089Support forward references in FOREIGN KEY constraint clauses within CREATE SCHEMA Features
Support forward references in
FOREIGN KEYconstraint clauses withinCREATE SCHEMA(Jian He, Tom Lane) §Original release occurrence ·
19.0/changes/090Allow CHECKPOINT to accept a list of options Features
Allow
CHECKPOINTto accept a list of options (Christoph Berg) § § §Supported options are
MODEandFLUSH_UNLOGGED.Original release occurrence ·
19.0/changes/091Add CONNECTION clause to CREATE FOREIGN DATA WRAPPER to specify a function to be called for subscription connection parameters Features
Add
CONNECTIONclause toCREATE FOREIGN DATA WRAPPERto specify a function to be called for subscription connection parameters (Jeff Davis, Noriyoshi Shinoda) § §Original release occurrence ·
19.0/changes/092Add SUPPORT clause to CREATE AGGREGATE so extensions can specify support functions to optimize aggregate calls Features
Add
SUPPORTclause toCREATE AGGREGATEso extensions can specify support functions to optimize aggregate calls (Tom Lane) §Original release occurrence ·
19.0/changes/093Add memory usage and parallelism reporting to VACUUM (VERBOSE) and autovacuum logs Features
Add memory usage and parallelism reporting to
VACUUM (VERBOSE)and autovacuum logs (Tatsuya Kawata, Daniil Davydov) § §Original release occurrence ·
19.0/changes/094Allow ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCED for CHECK constraints Features
Allow
ALTER TABLE ALTER CONSTRAINT ... [NOT] ENFORCEDforCHECKconstraints (Jian He) §Previously enforcement changes were only supported for foreign key constraints.
Original release occurrence ·
19.0/changes/095Allow ALTER TABLE ... COLUMN SET EXPRESSION to succeed on virtual columns with CHECK constraints Features
Allow
ALTER TABLE ... COLUMN SET EXPRESSIONto succeed on virtual columns withCHECKconstraints (Jian He) §This was previously prohibited.
Original release occurrence ·
19.0/changes/096Allow multiple headers lines to be skipped by COPY FROM Features
Allow multiple headers lines to be skipped by
COPY FROM(Shinya Kato, Fujii Masao) §Previously only a single header line could be skipped.
Original release occurrence ·
19.0/changes/097Allow COPY FROM to set invalid input values to NULL Features
Allow
COPY FROMto set invalid input values toNULL(Jian He, Kirill Reshke) §This is done using the
COPYoptionON_ERROR SET_NULL.Original release occurrence ·
19.0/changes/098Allow COPY TO to output JSON format Features
Allow
COPY TOto output JSON format (Joe Conway, Jian He, Andrew Dunstan) § §JSON output can also be a single JSON array using the
COPYoptionFORCE_ARRAY.Original release occurrence ·
19.0/changes/099Allow COPY TO to process partitioned tables Features
Allow
COPY TOto process partitioned tables (Jian He, Ajin Cherian) § §Previously
COPY (SELECT ...)had to be used to output partitioned tables. This also improves logical replication table synchronization.Original release occurrence ·
19.0/changes/100Add EXPLAIN ANALYZE option IO to report asynchronous IO activity Features
Add
EXPLAIN ANALYZEoptionIOto report asynchronous IO activity (Tomas Vondra) § § §Original release occurrence ·
19.0/changes/101Add reporting of WAL full-page write bytes to EXPLAIN (ANALYZE, WAL) output Features
Add reporting of WAL full-page write bytes to
EXPLAIN (ANALYZE, WAL)output (Shinya Kato) §Original release occurrence ·
19.0/changes/102Add Memoize cache and lookup estimates to EXPLAIN output Features
Add Memoize cache and lookup estimates to
EXPLAINoutput (Ilia Evdokimov, Lukas Fittl) §This can show why Memoize was chosen.
Original release occurrence ·
19.0/changes/103Add the 64-bit unsigned data type oid8 Features
Original release occurrence ·
19.0/changes/104Add more jsonpath string methods Features
Add more
jsonpathstring methods (Florents Tselai, David E. Wheeler) §They are
ltrim(),rtrim(),btrim(),lower(),upper(),initcap(),replace(), andsplit_part(). These are immutable like their non-JSON string variants.Original release occurrence ·
19.0/changes/105Allow casts between bytea and uuid data types Features
Original release occurrence ·
19.0/changes/106Add ability to cast between database names and oids using regdatabase Features
Add ability to cast between database names and
oids usingregdatabase(Ian Lawrence Barwick) §Original release occurrence ·
19.0/changes/107Add functions tid_block() and tid_offset() to extract block numbers and offsets from tid values Features
Add functions
tid_block()andtid_offset()to extract block numbers and offsets fromtidvalues (Ayush Tiwari) §Original release occurrence ·
19.0/changes/108Add date, timestamp, and timestamptz versions of random(min, max) Features
Add
date,timestamp, andtimestamptzversions ofrandom(min, max)(Damien Clochard, Dean Rasheed) § §Original release occurrence ·
19.0/changes/109Allow encode() and decode() to process data in base64url and base32hex formats Features
Allow
encode()anddecode()to process data inbase64urlandbase32hexformats (Andrey Borodin, Aleksander Alekseev, Florents Tselai) § § §This format retains ordering, unlike
base32.Original release occurrence ·
19.0/changes/110Add functions to return a set of ranges resulting from range subtraction Features
Add functions to return a set of ranges resulting from range subtraction (Paul A. Jungwirth) §
The functions are
range_minus_multi()andmultirange_minus_multi(). This is useful to represent range subtraction results with gaps.Original release occurrence ·
19.0/changes/111Add function error_on_null() to return the supplied parameter, or error on NULL input Features
Add function
error_on_null()to return the supplied parameter, or error onNULLinput (Joel Jacobson) §Original release occurrence ·
19.0/changes/112Add full text stemmers for Polish and Esperanto Features
Add full text stemmers for Polish and Esperanto (Tom Lane) §
The Dutch stemmer has also been updated. The old Dutch stemmer is available via
dutch_porter.Original release occurrence ·
19.0/changes/114Allow event triggers to be written using PL/Python Features
Original release occurrence ·
19.0/changes/115Allow libpq connections to specify a service file via servicefile Features
Allow libpq connections to specify a service file via
servicefile(Torsten Förtsch, Ryo Kanbayashi) §Original release occurrence ·
19.0/changes/116Add special libpq protocol parameters for compatibility testing Features
Add special libpq protocol parameters for compatibility testing (Jelte Fennema-Nio, Jacob Champion) §
Otherwise known as protocol grease, which was active during the 19 beta period. These will no longer be sent as of the PostgreSQL 19 official release, but the parameter reservations will remain for potential use in the future.
Original release occurrence ·
19.0/changes/117Add libpq connection parameter oauth_ca_file to specify an alternate certificate authority when communicating with OAuth providers Features
Add libpq connection parameter
oauth_ca_fileto specify an alternate certificate authority when communicating with OAuth providers (Jonathan Gonzalez V., Jacob Champion) §This can also be set via the
PGOAUTHCAFILEenvironment variable. The default is to use curl's built-in certificates.Original release occurrence ·
19.0/changes/118Allow libpq environment variable PGOAUTHDEBUG to specify particular debug options Features
Allow libpq environment variable
PGOAUTHDEBUGto specify particular debug options (Zsolt Parragi, Jacob Champion) §The
UNSAFEoption still generates all debugging output.Original release occurrence ·
19.0/changes/119Improve custom OAuth client flows Features
Improve custom OAuth client flows (Jacob Champion) § §
Previously, libpq reported only a generic error message during custom flow failures, and each flow implementation was required to calculate the issuer identifier independently. Add a new authdata hook type
PQAUTHDATA_OAUTH_BEARER_TOKEN_V2that precomputes the issuer ID and lets hooks provide error details.Original release occurrence ·
19.0/changes/120Add libpq function PQgetThreadLock() to retrieve the current locking callback Features
Add libpq function
PQgetThreadLock()to retrieve the current locking callback (Jacob Champion) §Original release occurrence ·
19.0/changes/121Allow the search path to appear in the psql prompt via %S Features
Allow the search path to appear in the psql prompt via
%S(Florents Tselai) §This works when psql is connected to PostgreSQL 18 or later.
Original release occurrence ·
19.0/changes/122Allow the hot standby status to appear in the psql prompt via %i Features
Original release occurrence ·
19.0/changes/123Modify psql backslash commands to show comments for publications, subscriptions, and extended statistics Features
Modify psql backslash commands to show comments for publications, subscriptions, and extended statistics (Fujii Masao, Jim Jones) §
Original release occurrence ·
19.0/changes/124Allow control over how booleans are displayed in psql Features
Allow control over how booleans are displayed in psql (David G. Johnston) §
The \pset variables are
display_trueanddisplay_false.Original release occurrence ·
19.0/changes/125Add psql variable SERVICEFILE to reference the service file location Features
Add psql variable
SERVICEFILEto reference the service file location (Ryo Kanbayashi) §Original release occurrence ·
19.0/changes/126Allow psql to more accurately determine if the pager is needed Features
Original release occurrence ·
19.0/changes/127Add or improve psql tab completion Features
Add or improve psql tab completion (Yamaguchi Atsuo, Yugo Nagata, Haruna Miwa, Xuneng Zhou, Dagfinn Ilmari Mannsåker, Fujii Masao, Álvaro Herrera, Jian He, Tatsuya Kawata, Ian Lawrence Barwick, Vasuki M) § § § § § § § § § § § § § §
Original release occurrence ·
19.0/changes/128Allow pg_dump to include restorable extended statistics Features
Original release occurrence ·
19.0/changes/129Change vacuumdb's --analyze-only and --analyze-in-stages options to analyze partitioned tables when no targets are specified Features
Change vacuumdb's
--analyze-onlyand--analyze-in-stagesoptions to analyze partitioned tables when no targets are specified (Laurenz Albe, Mircea Cadariu, Chao Li) § §Previously it skipped partitioned tables. This now matches the behavior of
ANALYZE.Original release occurrence ·
19.0/changes/130Allow vacuumdb to report its commands without running them using option --dry-run Features
Original release occurrence ·
19.0/changes/131Allow pg_verifybackup to read WAL files stored in tar archives Features
Allow pg_verifybackup to read WAL files stored in tar archives (Amul Sul) §
Add option
--wal-pathas an alias for the existing and deprecated--wal-directoryoption.Original release occurrence ·
19.0/changes/132Allow pg_waldump to read WAL files stored in tar archives Features
Allow pg_waldump to read WAL files stored in tar archives (Amul Sul) §
Original release occurrence ·
19.0/changes/133Improve performance of pg_upgrade copying large object metadata Performance
Improve performance of pg_upgrade copying large object metadata (Nathan Bossart) § § § §
Various methods are used, depending on the PostgreSQL version of the old cluster.
Original release occurrence ·
19.0/changes/134Allow pg_upgrade to process non-default tablespaces stored in the PGDATA directory Features
Allow pg_upgrade to process non-default tablespaces stored in the
PGDATAdirectory (Nathan Bossart) §Previously such tablespaces generated an error.
Original release occurrence ·
19.0/changes/135Add pgbench option --continue-on-error to continue after SQL errors Features
Add pgbench option
--continue-on-errorto continue after SQL errors (Rintaro Ikeda, Yugo Nagata, Fujii Masao) §Original release occurrence ·
19.0/changes/136Improve the usability of pg_test_timing Features
Improve the usability of pg_test_timing (Hannu Krosing, Tom Lane) § §
Report nanoseconds instead of microseconds. In addition to histogram output, output a second table that reports exact timings, with an optional cutoff set by
--cutoff.Original release occurrence ·
19.0/changes/137Allow pg_createsubscriber to ignore specified publications that already exist Features
Allow pg_createsubscriber to ignore specified publications that already exist (Shubham Khanna) §
Previously this generated an error.
Original release occurrence ·
19.0/changes/138Change the way pg_createsubscriber stores recovery parameters Features
Change the way pg_createsubscriber stores recovery parameters (Alyona Vinter) §
Changes are stored in optionally-included
pg_createsubscriber.confrather than directly inpostgresql.auto.conf.Original release occurrence ·
19.0/changes/139Add pg_createsubscriber option -l/--logdir to redirect output to files Features
Add pg_createsubscriber option
-l/--logdirto redirect output to files (Gyan Sreejith, Hayato Kuroda) §Original release occurrence ·
19.0/changes/140Restore support for AIX Features
Restore support for AIX (Aditya Kamath, Srirama Kucherlapati, Peter Eisentraut) § §
This uses gcc and only supports 64-bit builds.
Original release occurrence ·
19.0/changes/141Change Solaris to use unnamed POSIX semaphores Features
Original release occurrence ·
19.0/changes/142Require Visual Studio 2019 or later Features
Require Visual Studio 2019 or later (Peter Eisentraut) §
Original release occurrence ·
19.0/changes/143Allow MSVC to create PL/Python using the Python Limited API Features
Original release occurrence ·
19.0/changes/144Allow building on AArch64 using MSVC Features
Original release occurrence ·
19.0/changes/145Allow execution stack backtraces on Windows using DbgHelp Features
Original release occurrence ·
19.0/changes/146Change the supported C language version to C11 Features
Original release occurrence ·
19.0/changes/147Use standard C23 and C++ attributes if available Features
Use standard C23 and C++ attributes if available (Peter Eisentraut) §
Original release occurrence ·
19.0/changes/148Use AVX2 CPU instructions for calculating page checksums Features
Use AVX2 CPU instructions for calculating page checksums (Matthew Sterrett, Andrew Kim) §
Original release occurrence ·
19.0/changes/149Use ARM Crypto Extension to Compute CRC32C Features
Use ARM Crypto Extension to Compute CRC32C (John Naylor) §
Original release occurrence ·
19.0/changes/150Change hex_encode() and hex_decode() to use SIMD CPU instructions Features
Change
hex_encode()andhex_decode()to use SIMD CPU instructions (Nathan Bossart, Chiranmoy Bhattacharya) §Original release occurrence ·
19.0/changes/151Require Meson version 0.57.2 or later Features
Original release occurrence ·
19.0/changes/152Add Meson option to build both shared and static libraries, or only shared Features
Add Meson option to build both shared and static libraries, or only shared (Peter Eisentraut) §
Original release occurrence ·
19.0/changes/153Update Unicode data to version 17.0.0 Features
Original release occurrence ·
19.0/changes/154Add hooks planner_setup_hook, planner_shutdown_hook, joinrel_setup_hook, and join_path_setup_hook Features
Add hooks
planner_setup_hook,planner_shutdown_hook,joinrel_setup_hook, andjoin_path_setup_hook(Robert Haas) § §Original release occurrence ·
19.0/changes/155Allow extensions to replace set-returning functions in the FROM clause with SQL queries Features
Allow extensions to replace set-returning functions in the
FROMclause with SQL queries (Paul A. Jungwirth) §Original release occurrence ·
19.0/changes/156Make multixid members 64-bit Features
Make multixid members 64-bit (Maxim Orlov) §
Original release occurrence ·
19.0/changes/157Change function prototypes to use uint* instead of bit* typedefs Features
Change function prototypes to use
uint*instead ofbit*typedefs (Nathan Bossart) §Original release occurrence ·
19.0/changes/158Allow logical decoding plugins to specify if they do not access shared catalogs Features
Allow logical decoding plugins to specify if they do not access shared catalogs (Antonin Houska) §
Original release occurrence ·
19.0/changes/159Allow OAuth validators to supply failure details Features
Allow OAuth validators to supply failure details (Jacob Champion) §
This is done by setting the
ValidatorModuleResultstructure member error_detail.Original release occurrence ·
19.0/changes/160Add simplified and improved shared memory registration function ShmemRequestStruct() Features
Add simplified and improved shared memory registration function
ShmemRequestStruct()(Heikki Linnakangas, Ashutosh Bapat) §Functions
ShmemInitStruct()andShmemInitHash()remain for backward compatibility.Original release occurrence ·
19.0/changes/161Add server variable debug_exec_backend to report how parameters are passed to new backends Features
Add server variable
debug_exec_backendto report how parameters are passed to new backends (Daniel Gustafsson) §Original release occurrence ·
19.0/changes/162Add documentation section about temporal tables Features
Add documentation section about temporal tables (Paul A. Jungwirth) §
Original release occurrence ·
19.0/changes/163Document the environment variables that control the regression tests Features
Document the environment variables that control the regression tests (Michael Paquier) §
Original release occurrence ·
19.0/changes/164Update documented systemd example to include a restart setting Features
Update documented systemd example to include a restart setting (Andrew Jackson) §
Original release occurrence ·
19.0/changes/165Add pg_plan_advice module to stabilize and control planner decisions Features
Add pg_plan_advice module to stabilize and control planner decisions (Robert Haas) § §
Original release occurrence ·
19.0/changes/166Add extension pg_stash_advice to allow per-query-id advice to be specified Features
Add extension pg_stash_advice to allow per-query-id advice to be specified (Robert Haas, Lukas Fittl) § §
Original release occurrence ·
19.0/changes/167Show sizes of FETCH queries as constants in pg_stat_statements Features
Show sizes of
FETCHqueries as constants in pg_stat_statements (Sami Imseih) §Fetches of different sizes will now be grouped together in pg_stat_statements output.
Original release occurrence ·
19.0/changes/168Add generic and custom plan counts to pg_stat_statements Features
Add generic and custom plan counts to pg_stat_statements (Sami Imseih) §
Original release occurrence ·
19.0/changes/169Refactor pg_buffercache reporting of shared memory mapping Features
Refactor pg_buffercache reporting of shared memory mapping (Bertrand Drouvot) §
New function
pg_buffercache_os_pages()and system viewpg_buffercache_os_pagesallow reporting of shared memory mapping; the function optionally includes NUMA details. Functionpg_buffercache_numa_pages()remains for backward compatibility.Original release occurrence ·
19.0/changes/170Add functions to pg_buffercache to mark buffers as dirty Features
Add functions to pg_buffercache to mark buffers as dirty (Nazir Bilal Yavuz) §
The functions are
pg_buffercache_mark_dirty(),pg_buffercache_mark_dirty_relation(), andpg_buffercache_mark_dirty_all().Original release occurrence ·
19.0/changes/171Allow pushdown of array comparisons in prepared statements to postgres_fdw foreign servers Features
Allow pushdown of array comparisons in prepared statements to postgres_fdw foreign servers (Alexander Pyhalov) §
Original release occurrence ·
19.0/changes/172Allow the retrieval of statistics from foreign data wrapper servers Features
Allow the retrieval of statistics from foreign data wrapper servers (Corey Huinker, Etsuro Fujita) § §
This is enabled for postgres_fdw by using the option
import_stats. The default is forANALYZEto retrieve rows from the remote server to locally generate statistics.Original release occurrence ·
19.0/changes/173Allow file_fdw to read files or program output that uses multi-line headers Features
Original release occurrence ·
19.0/changes/174Add server variable auto_explain.log_io to add IO reporting to auto_explain Features
Add server variable
auto_explain.log_ioto add IO reporting to auto_explain (Tomas Vondra) §Original release occurrence ·
19.0/changes/175Allow auto_explain to add extension-specific EXPLAIN options via server variable auto_explain.log_extension_options Features
Allow auto_explain to add extension-specific
EXPLAINoptions via server variableauto_explain.log_extension_options(Robert Haas) §Original release occurrence ·
19.0/changes/176Change btree_gin to support all btree-supported cross-type comparisons Features
Original release occurrence ·
19.0/changes/177Improve performance of bloom indexes by using streaming reads Performance
Original release occurrence ·
19.0/changes/178Improve performance of pgstattuple by using streaming reads Performance
Improve performance of pgstattuple by using streaming reads (Xuneng Zhou) § §
Original release occurrence ·
19.0/changes/179Allow fuzzystrmatch's dmetaphone() to use single-byte encodings beyond ASCII Features
Allow fuzzystrmatch's
dmetaphone()to use single-byte encodings beyond ASCII (Peter Eisentraut) §Original release occurrence ·
19.0/changes/180Modify oid2name --extended to report the relation file path Features
Original release occurrence ·
19.0/changes/181
Security evidence
0 records from the official security matrix and release-note mentions. A fixed version is shown only when the security snapshot explicitly names this branch. A mention alone does not establish applicability or a new fix.
The security snapshot has no complete branch matrix for PostgreSQL 19. Vulnerability status remains unknown where no explicit evidence is available.
No branch-specific security records are present in this snapshot. This is not evidence that no vulnerabilities exist.
Export this branch as JSON · Compare any two indexed releases