-Change initdb default to enable data checksums (Greg Sabino Mullane)
+Change initdb default to enable data checksums (Greg Sabino Mullane)
§
-Checksums can be disabled with the new initdb option --no-data-checksums.
-pg_upgrade requires matching cluster checksum settings, so this new
+Checksums can be disabled with the new initdb option .
+pg_upgrade requires matching cluster checksum settings, so this new
option can be useful to upgrade non-checksum old clusters.
@@ -83,7+83,7 @@ Change time zone abbreviation handling (Tom Lane)
-The system will now favor the current session's time zone abbreviations before checking the server variable timezone_abbreviations. Previously timezone_abbreviations was
+The system will now favor the current session's time zone abbreviations before checking the server variable timezone_abbreviations. Previously timezone_abbreviations was
-Support for MD5 passwords will be removed in a future major version release. CREATE ROLE and ALTER ROLE now emit deprecation warnings when setting MD5 passwords.
-These warnings can be disabled by setting the md5_password_warnings parameter to "off".
+Support for MD5 passwords will be removed in a future major version release. CREATE ROLE and ALTER ROLE now emit deprecation warnings when setting MD5 passwords.
+These warnings can be disabled by setting the md5_password_warnings parameter to off.
-Prevent COPY FROM from treating \. as an end-of-file marker when reading CSV files (Daniel Vérité, Tom Lane)
+Prevent COPY FROM from treating \. as an end-of-file marker when reading CSV files (Daniel Vérité, Tom Lane)
§
§
-psql will still treat \. as an end-of-file marker when reading CSV files from STDIN. Older psql clients connecting to Postgres 18 servers might experience \copy problems. This
-release also enforces that \. must appear alone on a line.
+psql will still treat \. as an end-of-file marker when reading CSV files from STDIN. Older psql clients connecting to PostgreSQL 18 servers might
+experience \copy problems. This
+release also enforces that \. must appear alone on a line.
-Execute AFTER triggers as the role that was active when trigger events were queued (Laurenz Albe)
+Execute AFTER triggers as the role that was active when trigger events were queued (Laurenz Albe)
§
-Previously such triggers were run as the role that was active at trigger execution time (e.g., at COMMIT). This is significant for cases where the role is changed between queue time and
+Previously such triggers were run as the role that was active at trigger execution time (e.g., at COMMIT). This is significant for cases where the role is changed between queue time and
-Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao)
+Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao)
-Ignore GROUP BY columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley)
+Ignore GROUP BY columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley)
§
-If a GROUP BY clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped
+If a GROUP BY clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped
from the grouping. This was already true for non-deferred primary keys.
-Allow values to be sorted to speed rangetype GiST and btree index builds (Bernd Helmle)
+Allow values to be sorted to speed range-type GiST and btree index builds (Bernd Helmle)
§
@@ -605,8+606,8 @@ Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavu
This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc.
-This is enabled by server variable io_method, with server variables io_combine_limit and io_max_combine_limit added to control it. This also enables
-effective_io_concurrency and maintenance_io_concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used
+This is enabled by server variable io_method, with server variables io_combine_limit and io_max_combine_limit added to control it. This also enables
+effective_io_concurrency and maintenance_io_concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used
-Improve the performance and reduce memory usage of hash joins and GROUP BY (David Rowley, Jeff Davis)
+Improve the performance and reduce memory usage of hash joins and GROUP BY (David Rowley, Jeff Davis)
§
§
§
@@ -647,7+648,7 @@ Improve the performance and reduce memory usage of hash joins and GROUP BY (Davi
-This also improves hash set operations used by EXCEPT, and hash lookups of subplan values.
+This also improves hash set operations used by EXCEPT, and hash lookups of subplan values.
@@ -666,7+667,7 @@ Allow normal vacuums to freeze some pages, even though they are all-visible (Mel
-This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting vacuum_max_eager_freeze_failure_rate.
+This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting vacuum_max_eager_freeze_failure_rate.
Previously vacuum never processed all-visible pages until freezing was required.
-Add delay time reporting to VACUUM and ANALYZE (Bertrand Drouvot, Nathan Bossart)
+Add delay time reporting to VACUUM and ANALYZE (Bertrand Drouvot, Nathan Bossart)
§
§
-This information appears in the autovacuum logs, the system views pg_stat_progress_vacuum and pg_stat_progress_analyze, and the output of VACUUM and ANALYZE when in VERBOSE
-mode; tracking must be enabled with the server variable track_cost_delay_timing.
+This information appears in the autovacuum logs, the system views pg_stat_progress_vacuum and pg_stat_progress_analyze, and the output of VACUUM and ANALYZE when in VERBOSE
+mode; tracking must be enabled with the server variable track_cost_delay_timing.
-Add predefined role pg_signal_autovacuum_worker (Kirill Reshke)
+Add predefined role pg_signal_autovacuum_worker (Kirill Reshke)
§
@@ -1143,8+1144,8 @@ Add support for the OAuth authentication method (Jacob Champion, Daniel Gustafss
-This adds an "oauth" authentication method to pg_hba.conf, libpq OAuth options, a server variable oauth_validator_libraries to load token validation libraries, and
-a configure flag --with-libcurl to add the required compile-time libraries.
+This adds an oauth authentication method to pg_hba.conf, libpq OAuth options, a server variable oauth_validator_libraries to load token validation libraries, and
+a configure flag to add the required compile-time libraries.
-Add server variable max_active_replication_origins to control the maximum active replication origins (Euler Taveira)
+Add server variable max_active_replication_origins to control the maximum active replication origins (Euler Taveira)
§
-This was previously controlled by max_replication_slots, but this new setting allows a higher origin count in cases where fewer slots are required.
+This was previously controlled by max_replication_slots, but this new setting allows a higher origin count in cases where fewer slots are required.
@@ -1364,9+1365,9 @@ Allow the values of generated columns to be logically replicated (Shubham Khanna
-If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option publish_generated_columns
+If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option publish_generated_columns
controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly
-useful for non-Postgres subscribers which lack such a capability.
+useful for non-PostgreSQL subscribers which lack such a capability.
-Also report in new columns of pg_stat_subscription_stats.
+Also report in new columns of pg_stat_subscription_stats.
@@ -1454,7+1455,7 @@ Allow generated columns to be virtual, and make them the default (Peter Eisentra
-Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the STORED option.
+Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the STORED option.
-Add OLD/NEW support to RETURNING in DML queries (Dean Rasheed)
+Add OLD/NEW support to RETURNING in DML queries (Dean Rasheed)
§
-Previously RETURNING only returned new values for INSERT and UPDATE, and old values for DELETE; MERGE would return the appropriate value for the internal query executed. This new syntax
-allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE to explicitly return old and new values by using the special aliases "old" and "new". These aliases can be renamed to
+Previously RETURNING only returned new values for INSERT and UPDATE, and old values for DELETE; MERGE would return the appropriate value for the internal query executed. This new syntax
+allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE to explicitly return old and new values by using the special aliases old and new. These aliases can be renamed to
avoid identifier conflicts.
@@ -1488,7+1489,7 @@ Allow foreign tables to be created like existing local tables (Zhang Mingli)
-Add function CASEFOLD() to allow for more sophisticated case-insensitive matching (Jeff Davis)
+Add function CASEFOLD() to allow for more sophisticated case-insensitive matching (Jeff Davis)
§
-Allows more accurate comparison, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.
+This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.
-Allow regexp_match[es]/regexp_like/regexp_replace/regexp_count/regexp_instr/regexp_substr/regexp_split_to_table/regexp_split_to_array() to use named arguments (Jian He)
+Allow regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() to use named arguments (Jian He)
-Add configure option --with-libnuma to enable NUMA awareness (Jakub Wartak, Bertrand Drouvot)
+Add configure option to enable NUMA awareness (Jakub Wartak, Bertrand Drouvot)
§
§
§
-The function pg_numa_available() reports on NUMA awareness, and system views pg_shmem_allocations_numa and pg_buffercache_numa which report on shared memory distribution across
-NUMA nodes.
+The function pg_numa_available() reports on NUMA awareness, and system views pg_shmem_allocations_numa and pg_buffercache_numa which report on shared memory distribution across
-New output column "used_in_xact" indicates if the foreign data wrapper is being used by a current transaction, "closed" indicates if it is closed, "user_name" indicates the
-user name, and "remote_backend_pid" indicates the remote backend process identifier.
+New output column used_in_xact indicates if the foreign data wrapper is being used by a current transaction, closed indicates if it is closed, user_name indicates the
+user name, and remote_backend_pid indicates the remote backend process identifier.
-Allow SCRAM authentication from the client to be passed to postgres_fdw servers (Matheus Alcantara, Peter Eisentraut)
+Allow SCRAM authentication from the client to be passed to postgres_fdw servers (Matheus Alcantara, Peter Eisentraut)
§
-This avoids storing postgres_fdw authentication information in the database, and is enabled with the postgres_fdw "use_scram_passthrough" connection option. libpq uses new connection
-parameters scram_client_key and scram_server_key.
+This avoids storing postgres_fdw authentication information in the database, and is enabled with the
+postgres_fdwuse_scram_passthrough connection option. libpq uses new connection
+parameters scram_client_key and scram_server_key.