diff --git a/doc/src/sgml/release-15.sgml b/doc/src/sgml/release-15.sgml index b9aba1df76..d472440679 100644 --- a/doc/src/sgml/release-15.sgml +++ b/doc/src/sgml/release-15.sgml @@ -1,4 +1,4 @@ - + Release 15 @@ -52,13 +52,13 @@ Author: Noah Misch -Remove PUBLIC 'creation' permission on the 'public' schema (Noah Misch) +Remove PUBLIC 'creation' permission on the 'public' schema (Noah Misch) This is a change in the default for newly-created databases in existing clusters and for new clusters; usage permissions on the 'public' schema has not been changed. Databases restored from previous -Postgres releases will be restored with their current permissions. Users wishing to have the old permissions on new objects will need to grant 'create' permission for PUBLIC on the 'public' schema; this -change can be made on 'template1' to cause all new databases to have these permissions. template1 permissions for pg_dumpall and pg_upgrade? +Postgres releases will be restored with their current permissions. Users wishing to have the old permissions on new objects will need to grant 'create' permission for PUBLIC on the 'public' schema; this +change can be made on 'template1' to cause all new databases to have these permissions. template1 permissions for pg_dumpall and pg_upgrade? @@ -69,7 +69,7 @@ Author: Noah Misch -Change the owner of the 'public' schema to 'pg_database_owner' (Noah Misch) +Change the owner of the public schema to pg_database_owner (Noah Misch) @@ -89,7 +89,7 @@ Remove long-deprecated exclusive backup mode (David Steele, Nathan Bossart) If the database server stops abruptly while in this mode, the server could fail to start. The non-exclusive backup mode requires a continuous database connection during the -backup. Functions pg_start_backup()/pg_stop_backup() have been renamed to pg_backup_start()/pg_backup_stop(), and the functions pg_backup_start_time() and pg_is_in_backup() have been removed. +backup. Functions pg_start_backup()/pg_stop_backup() have been renamed to pg_backup_start()/pg_backup_stop(), and the functions pg_backup_start_time() and pg_is_in_backup() have been removed. @@ -100,11 +100,11 @@ Author: Peter Geoghegan -Increase hash_mem_multiplier default to 2.0 (Peter Geoghegan) +Increase hash_mem_multiplier default to 2.0 (Peter Geoghegan) -This allows query hash operations to use double the amount of work_mem memory as other operations. +This allows query hash operations to use double the amount of work_mem memory as other operations. @@ -141,7 +141,7 @@ Author: Tom Lane -Generate an error if array_to_tsvector() is passed an empty array element (Jean-Christophe Arnu) +Generate an error if array_to_tsvector() is passed an empty array element (Jean-Christophe Arnu) @@ -157,7 +157,7 @@ Author: Peter Eisentraut -Generate an error when char() is supplied with a negative argument (Peter Eisentraut) +Generate an error when char() is supplied with a negative argument (Peter Eisentraut) @@ -183,7 +183,7 @@ Author: Tom Lane -Remove pg_dump's --no-synchronized-snapshots option since all supported server versions support synchronized snapshots (Tom Lane) +Remove pg_dump's option since all supported server versions support synchronized snapshots (Tom Lane) @@ -194,7 +194,7 @@ Author: Tom Lane -Prevent CREATE OR REPLACE VIEW from changing the collation of an output column (Tom Lane) +Prevent CREATE OR REPLACE VIEW from changing the collation of an output column (Tom Lane) @@ -220,7 +220,7 @@ Author: Peter Eisentraut -Adjust JSON numeric literal processing to match the SQL/JSON-standard (Peter Eisentraut) +Adjust JSON numeric literal processing to match the SQL/JSON-standard (Peter Eisentraut) @@ -269,7 +269,7 @@ Detect integer overflow in interval justification functions (Joe Koshakow) -Specifically, functions justify_interval(), justify_hours(), and justify_days() are affected. +Specifically, functions justify_interval(), justify_hours(), and justify_days() are affected. @@ -280,11 +280,11 @@ Author: Robert Haas -Remove the default ADMIN OPTION privilege a login role has on its own role membership (Robert Haas) +Remove the default ADMIN OPTION privilege a login role has on its own role membership (Robert Haas) -Previously, login roles could add/remove members of its own role, even without ADMIN OPTION privilege. +Previously, login roles could add/remove members of its own role, even without ADMIN OPTION privilege. @@ -310,11 +310,11 @@ Author: Jeff Davis -Prevent UPDATE and DELETE logical replication operations on tables where the subscription owner does not have SELECT permission on the table (Jeff Davis) +Prevent UPDATE and DELETE logical replication operations on tables where the subscription owner does not have SELECT permission on the table (Jeff Davis) -UPDATE and DELETE perform SELECT, so require the subscription owner to have table SELECT permission. +UPDATE and DELETE perform SELECT, so require the subscription owner to have table SELECT permission. @@ -325,7 +325,7 @@ Author: Tom Lane -When EXPLAIN references the temporary object schema, refer to it as "pg_temp" (Amul Sul) +When EXPLAIN references the temporary object schema, refer to it as pg_temp (Amul Sul) @@ -340,7 +340,7 @@ Author: Tom Lane -Modify SPI's SPI_commit() and SPI_commit_and_chain() to automatically start a new transaction at completion (Peter Eisentraut, Tom Lane) +Modify SPI's SPI_commit() and SPI_commit_and_chain() to automatically start a new transaction at completion (Peter Eisentraut, Tom Lane) @@ -355,7 +355,7 @@ Author: Tom Lane -Fix pg_statio_all_tables to sum values for the rare case of TOAST tables with multiple indexes (Andrei Zubkov) +Fix pg_statio_all_tables to sum values for the rare case of TOAST tables with multiple indexes (Andrei Zubkov) @@ -389,7 +389,7 @@ Author: Andres Freund -Remove unnecessary server variable stats_temp_directory (Andres Freund, Kyotaro Horiguchi) +Remove unnecessary server variable stats_temp_directory (Andres Freund, Kyotaro Horiguchi) @@ -402,11 +402,11 @@ Author: Tom Lane -Improve the algorithm used to compute random() (Fabien Coelho) +Improve the algorithm used to compute random() (Fabien Coelho) -This will cause random() to differ from what was emitted by prior versions for the same seed values. +This will cause random() to differ from what was emitted by prior versions for the same seed values. @@ -432,7 +432,7 @@ Author: Tom Lane -Remove contrib/xml2's function xml_is_well_formed() (Tom Lane) +Remove contrib/xml2's function xml_is_well_formed() (Tom Lane) @@ -484,8 +484,8 @@ Record and check the collation of each database (Peter Eisentraut) -This is designed to detect collation mismatches to avoid data corruption. Function pg_database_collation_actual_version() reports the underlying operating system collation version, and ALTER DATABASE ... -REFRESH sets the database to match the operating system collation version. DETAILS? +This is designed to detect collation mismatches to avoid data corruption. Function pg_database_collation_actual_version() reports the underlying operating system collation version, and ALTER DATABASE ... +REFRESH sets the database to match the operating system collation version. DETAILS? @@ -496,11 +496,11 @@ Author: Peter Eisentraut -Allow ICU collations to be set as the default for clusters and databases (Peter Eisentraut) +Allow ICU collations to be set as the default for clusters and databases (Peter Eisentraut) -Previously, ICU collations could only be specified in CREATE COLLATION and used with the COLLATE clause. +Previously, ICU collations could only be specified in CREATE COLLATION and used with the COLLATE clause. @@ -511,7 +511,7 @@ Author: Michael Paquier -Add system view pg_ident_file_mappings to report pg_ident.conf information (Julien Rouhaud) +Add system view pg_ident_file_mappings to report pg_ident.conf information (Julien Rouhaud) @@ -548,7 +548,7 @@ Allow ordered scans of partitions to avoid sorting in more cases (David Rowley) -Previously, a partitioned table with a DEFAULT partition or a LIST partition containing multiple values could not be used for ordered partition scans. Now they can be used if these partitions are pruned. +Previously, a partitioned table with a DEFAULT partition or a LIST partition containing multiple values could not be used for ordered partition scans. Now they can be used if these partitions are pruned. @@ -563,7 +563,7 @@ Improve foreign key behavior of updates on partitioned tables that move rows bet -Previously, such updates ran delete actions on the source partition and insert actions on the target partition. PostgreSQL will now run update actions on the referenced partition root. +Previously, such updates ran delete actions on the source partition and insert actions on the target partition. PostgreSQL will now run update actions on the referenced partition root. @@ -576,7 +576,7 @@ Author: Alvaro Herrera -Allow CLUSTER on partitioned tables (Justin Pryzby) +Allow CLUSTER on partitioned tables (Justin Pryzby) @@ -587,7 +587,7 @@ Author: Alvaro Herrera -Fix ALTER TRIGGER RENAME on partitioned tables to properly rename triggers an all partitions (Arne Roland, Álvaro Herrera) +Fix ALTER TRIGGER RENAME on partitioned tables to properly rename triggers an all partitions (Arne Roland, Álvaro Herrera) @@ -611,7 +611,7 @@ Author: Peter Geoghegan -Enable system and TOAST B-tree indexes to efficiently store duplicates (Peter Geoghegan) +Enable system and TOAST btree indexes to efficiently store duplicates (Peter Geoghegan) @@ -637,7 +637,7 @@ Author: Tomas Vondra -Prevent changes to columns only indexed by BRIN indexes from disabling HOT updates (Josef Simanek) +Prevent changes to columns only indexed by BRIN indexes from disabling HOT updates (Josef Simanek) @@ -648,11 +648,11 @@ Author: Peter Eisentraut -Allow unique constraints and indexes to treat NULL values as not distinct (Peter Eisentraut) +Allow unique constraints and indexes to treat NULL values as not distinct (Peter Eisentraut) -Previously NULL values were always indexed as distinct values, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT. +Previously NULL values were always indexed as distinct values, but this can now be changed by creating constraints and indexes using UNIQUE NULLS NOT DISTINCT. @@ -663,11 +663,11 @@ Author: Tom Lane -Allow ^@ and starts_with() to use btree indexes if using a C collation (Tom Lane) +Allow ^@ and starts_with() to use btree indexes if using a C collation (Tom Lane) -Previously these could only use SP-GiST indexes. +Previously these could only use SP-GiST indexes. @@ -702,11 +702,11 @@ Author: Tomas Vondra -Allow GROUP BY sorting to optimize column order (Dmitry Dolgov, Teodor Sigaev, Tomas Vondra) +Allow GROUP BY sorting to optimize column order (Dmitry Dolgov, Teodor Sigaev, Tomas Vondra) -This optimization can be disabled using the server variable enable_group_by_reordering. +This optimization can be disabled using the server variable enable_group_by_reordering. @@ -717,7 +717,7 @@ Author: Tom Lane -Add server variable recursive_worktable_factor to allow the user to specify the expected recursive query worktable size (Simon Riggs) +Add server variable recursive_worktable_factor to allow the user to specify the expected recursive query worktable size (Simon Riggs) @@ -741,7 +741,7 @@ Author: David Rowley -Allow hash lookup for NOT IN clauses with many constants (David Rowley, James Coleman) +Allow hash lookup for NOT IN clauses with many constants (David Rowley, James Coleman) @@ -756,11 +756,11 @@ Author: John Naylor -Improve validation of UTF-8 text (even if only ASCII) by processing 16 bytes at a time (John Naylor, Heikki Linnakangas) +Improve validation of UTF-8 text (even if only ASCII) by processing 16 bytes at a time (John Naylor, Heikki Linnakangas) -This will improve text-heavy operations like COPY FROM. +This will improve text-heavy operations like COPY FROM. @@ -773,7 +773,7 @@ Author: Heikki Linnakangas -Improve performance for sorts that exceed work_mem (Heikki Linnakangas) +Improve performance for sorts that exceed work_mem (Heikki Linnakangas) @@ -805,11 +805,11 @@ Author: Michael Paquier -Allow WAL full page writes to use LZ4 and Zstandard compression (Andrey Borodin, Justin Pryzby) +Allow WAL full page writes to use LZ4 and Zstandard compression (Andrey Borodin, Justin Pryzby) -This is controlled by the wal_compression server setting. +This is controlled by the wal_compression server setting. @@ -824,7 +824,7 @@ Add direct I/O support to macOS (Thomas Munro) -This only works if max_wal_senders=0 and wal_level=minimal, and only for WAL. +This only works if max_wal_senders=0 and wal_level=minimal, and only for WAL. @@ -857,7 +857,7 @@ Author: David Rowley -Improve the performance of window functions that use row_number(), rank(), and count() (David Rowley) +Improve the performance of window functions that use row_number(), rank(), and count() (David Rowley) @@ -892,7 +892,7 @@ Enable default logging of checkpoints and slow autovacuum operations (Bharath Ru -Specifically, this changes the default of log_checkpoints to on and log_autovacuum_min_duration to 10 minutes. This will cause idle servers to generate log output, which might cause problems on +Specifically, this changes the default of log_checkpoints to on and log_autovacuum_min_duration to 10 minutes. This will cause idle servers to generate log output, which might cause problems on resource-constrained servers with insufficient log file removal. The defaults should be changed in such cases. @@ -910,7 +910,7 @@ Generate periodic log message during slow server starts (Nitin Jadhav, Robert Ha -Messages report the cause of the delay. The time interval for notification is controlled by the new server variable log_startup_progress_interval. +Messages report the cause of the delay. The time interval for notification is controlled by the new server variable log_startup_progress_interval. @@ -927,7 +927,7 @@ Store server-level statistics in shared memory (Kyotaro Horiguchi, Andres Freund -Previously this was updated via UDP packets, stored in the file system, and read by sessions. There is no longer a statistics collector process. +Previously this was updated via UDP packets, stored in the file system, and read by sessions. There is no longer a statistics collector process. @@ -942,7 +942,7 @@ Author: Peter Geoghegan -Add additional information to VACUUM VERBOSE and autovacuum logging messages (Peter Geoghegan) +Add additional information to VACUUM VERBOSE and autovacuum logging messages (Peter Geoghegan) @@ -953,7 +953,7 @@ Author: Michael Paquier -Add EXPLAIN (BUFFERS) output for temporary file block I/O (Masahiko Sawada) +Add EXPLAIN (BUFFERS) output for temporary file block I/O (Masahiko Sawada) @@ -964,11 +964,11 @@ Author: Michael Paquier -Allow log output in JSON format (Sehrope Sarkuni, Michael Paquier) +Allow log output in JSON format (Sehrope Sarkuni, Michael Paquier) -The new setting is log_destination=jsonlog. +The new setting is log_destination=jsonlog. @@ -979,7 +979,7 @@ Author: Fujii Masao -Allow pg_stat_reset_single_table_counters() to reset the counters of relations shared across all databases (B Sadhu, Prasad Patro) +Allow pg_stat_reset_single_table_counters() to reset the counters of relations shared across all databases (B Sadhu, Prasad Patro) @@ -994,7 +994,7 @@ Add wait events for local shell commands (Fujii Masao) -Specifically the new wait events are related to commands archive_command, archive_cleanup_command, restore_command and recovery_end_command. +Specifically the new wait events are related to commands archive_command, archive_cleanup_command, restore_command and recovery_end_command. @@ -1029,7 +1029,7 @@ Author: Robert Haas -Allow members of the pg_write_server_files predefined role to perform server-side base backups (Dagfinn Ilmari Mannsåker) +Allow members of the pg_write_server_files predefined role to perform server-side base backups (Dagfinn Ilmari Mannsåker) @@ -1044,11 +1044,11 @@ Author: Tom Lane -Allow GRANT to assign permission to change server variables via SET and ALTER SYSTEM (Mark Dilger) +Allow GRANT to assign permission to change server variables via SET and ALTER SYSTEM (Mark Dilger) -New function has_parameter_privilege() reports on this privilege. +New function has_parameter_privilege() reports on this privilege. @@ -1059,7 +1059,7 @@ Author: Jeff Davis -Add predefined role pg_checkpointer that allows members to run CHECKPOINT (Jeff Davis) +Add predefined role pg_checkpointer that allows members to run CHECKPOINT (Jeff Davis) @@ -1074,7 +1074,7 @@ Author: Jeff Davis -Allow members of the pg_read_all_stats predefined role to access the views pg_backend_memory_contexts and pg_shmem_allocations (Bharath Rupireddy) +Allow members of the pg_read_all_stats predefined role to access the views pg_backend_memory_contexts and pg_shmem_allocations (Bharath Rupireddy) @@ -1089,7 +1089,7 @@ Author: Jeff Davis -Allow GRANT to assign permissions on pg_log_backend_memory_contexts() (Jeff Davis) +Allow GRANT to assign permissions on pg_log_backend_memory_contexts() (Jeff Davis) @@ -1115,7 +1115,7 @@ Author: Michael Paquier -Add server variable shared_memory_size to report the size of allocated shared memory (Nathan Bossart) +Add server variable shared_memory_size to report the size of allocated shared memory (Nathan Bossart) @@ -1128,7 +1128,7 @@ Author: Michael Paquier -Add server variable shared_memory_size_in_huge_pages to report the number of huge memory pages required (Nathan Bossart) +Add server variable shared_memory_size_in_huge_pages to report the number of huge memory pages required (Nathan Bossart) @@ -1143,11 +1143,11 @@ Author: Michael Paquier -Allow "postgres -C" to properly report runtime-computed values (Nathan Bossart) +Allow postgres -C to properly report runtime-computed values (Nathan Bossart) -Previously runtime-computed values data_checksums, wal_segment_size, and data_directory_mode would report values that would not be accurate on the running server. However, this does not work on a running server. +Previously runtime-computed values data_checksums, wal_segment_size, and data_directory_mode would report values that would not be accurate on the running server. However, this does not work on a running server. @@ -1195,11 +1195,11 @@ Author: Thomas Munro -Allow WAL processing to pre-fetch needed file contents (Thomas Munro) +Allow WAL processing to pre-fetch needed file contents (Thomas Munro) -This is controlled by the server variable recovery_prefetch. +This is controlled by the server variable recovery_prefetch. @@ -1210,7 +1210,7 @@ Author: Robert Haas -Add server variable archive_library to specify the library to be called for archiving (Nathan Bossart) +Add server variable archive_library to specify the library to be called for archiving (Nathan Bossart) @@ -1225,7 +1225,7 @@ Author: Jeff Davis -No longer require IDENTIFY_SYSTEM to be run before START_REPLICATION (Jeff Davis) +No longer require IDENTIFY_SYSTEM to be run before START_REPLICATION (Jeff Davis) @@ -1249,7 +1249,7 @@ Allow publication of all tables in a schema (Vignesh C, Hou Zhijie, Amit Kapila) -For example, this syntax is now supported: CREATE PUBLICATION pub1 FOR ALL TABLES IN SCHEMA s1,s2; ALTER PUBLICATION supports a similar syntax. Tables added to the listed schemas in the future will also +For example, this syntax is now supported: CREATE PUBLICATION pub1 FOR ALL TABLES IN SCHEMA s1,s2; ALTER PUBLICATION supports a similar syntax. Tables added to the listed schemas in the future will also be replicated. @@ -1265,7 +1265,7 @@ Author: Amit Kapila -Allow publication content to be filtered using a WHERE clause (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila) +Allow publication content to be filtered using a WHERE clause (Hou Zhijie, Euler Taveira, Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila) @@ -1287,7 +1287,7 @@ Author: Amit Kapila -Allow skipping of transactions on a subscriber using ALTER SUBSCRIPTION ... SKIP (Masahiko Sawada) +Allow skipping of transactions on a subscriber using ALTER SUBSCRIPTION ... SKIP (Masahiko Sawada) @@ -1315,7 +1315,7 @@ Add two-phase information to the logical replication stream (Ajin Cherian) -The new CREATE_REPLICATION_SLOT option is called TWO_PHASE. pg_recvlogical now supports a new --two-phase option during slot creation. +The new CREATE_REPLICATION_SLOT option is called TWO_PHASE. pg_recvlogical now supports a new option during slot creation. @@ -1341,11 +1341,11 @@ Author: Michael Paquier -Add SQL functions to monitor the directory contents of logical replication slots (Bharath Rupireddy) +Add SQL functions to monitor the directory contents of logical replication slots (Bharath Rupireddy) -Specifically, the functions are pg_ls_logicalsnapdir(), pg_ls_logicalmapdir(), and pg_ls_replslotdir(). They can be run by members of the predefined pg_monitor role. +Specifically, the functions are pg_ls_logicalsnapdir(), pg_ls_logicalmapdir(), and pg_ls_replslotdir(). They can be run by members of the predefined pg_monitor role. @@ -1360,7 +1360,7 @@ Allow subscribers to stop logical replication application on error (Osumi Takami -This is enabled with the subscriber option "disable_on_error" and avoids possible infinite error loops during stream application. +This is enabled with the subscriber option disable_on_error and avoids possible infinite error loops during stream application. @@ -1388,11 +1388,11 @@ Author: Amit Kapila -Add system view pg_stat_subscription_stats to report on subscriber activity (Masahiko Sawada) +Add system view pg_stat_subscription_stats to report on subscriber activity (Masahiko Sawada) -New function pg_stat_reset_subscription_stats() allows the resetting of subscriber statistics. +New function pg_stat_reset_subscription_stats() allows the resetting of subscriber statistics. @@ -1403,7 +1403,7 @@ Author: Amit Kapila -Remove incorrect duplicate partitions in system view pg_publication_tables (Hou Zhijie) +Remove incorrect duplicate partitions in system view pg_publication_tables (Hou Zhijie) @@ -1425,7 +1425,7 @@ Author: David Rowley -Allow SELECT DISTINCT to be parallelized (David Rowley) +Allow SELECT DISTINCT to be parallelized (David Rowley) @@ -1445,11 +1445,11 @@ Author: Alvaro Herrera -Add SQL MERGE command to adjust one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera, Amit Langote) +Add SQL MERGE command to adjust one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera, Amit Langote) -This is similar to INSERT ... ON CONFLICT but more batch-oriented. +This is similar to INSERT ... ON CONFLICT but more batch-oriented. @@ -1462,7 +1462,7 @@ Author: Peter Eisentraut -Add support for HEADER option in COPY text format (Rémi Lapeyre) +Add support for HEADER option in COPY text format (Rémi Lapeyre) @@ -1477,7 +1477,7 @@ Author: Robert Haas -Add new default WAL-logged method for database creation (Dilip Kumar) +Add new default WAL-logged method for database creation (Dilip Kumar) @@ -1492,7 +1492,7 @@ Author: Robert Haas -Allow CREATE DATABASE to set the database OID (Shruthi KC, Antonin Houska) +Allow CREATE DATABASE to set the database OID (Shruthi KC, Antonin Houska) @@ -1503,7 +1503,7 @@ Author: Thomas Munro -Prevent DROP DATABASE, DROP TABLESPACE, and ALTER DATABASE SET TABLESPACE from occasionally failing during concurrent use on Windows (Thomas Munro) +Prevent DROP DATABASE, DROP TABLESPACE, and ALTER DATABASE SET TABLESPACE from occasionally failing during concurrent use on Windows (Thomas Munro) @@ -1514,7 +1514,7 @@ Author: Peter Eisentraut -Allow foreign key ON DELETE SET actions to affect only specified columns (Paul Martinez) +Allow foreign key ON DELETE SET actions to affect only specified columns (Paul Martinez) @@ -1529,7 +1529,7 @@ Author: Michael Paquier -Allow ALTER TABLE to modify a table's ACCESS METHOD (Justin Pryzby, Jeff Davis) +Allow ALTER TABLE to modify a table's ACCESS METHOD (Justin Pryzby, Jeff Davis) @@ -1540,7 +1540,7 @@ Author: Michael Paquier -Properly call object access hooks when ALTER TABLE causes table rewrites (Michael Paquier) +Properly call object access hooks when ALTER TABLE causes table rewrites (Michael Paquier) @@ -1623,7 +1623,7 @@ Author: Peter Eisentraut -Add multirange input to range_agg() (Paul Jungwirth) +Add multirange input to range_agg() (Paul Jungwirth) @@ -1634,7 +1634,7 @@ Author: Fujii Masao -Add min() and max() aggregates for the xid8 data type (Ken Kato) +Add min() and max() aggregates for the xid8 data type (Ken Kato) @@ -1649,15 +1649,10 @@ Add regular expression functions for compatibility with other relational systems -Specifically, the new functions are regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). Some new optional arguments were also added to regexp_replace(). +Specifically, the new functions are regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). Some new optional arguments were also added to regexp_replace(). - -