Back to bug 2128410

Who When What Removed Added
Red Hat Bugzilla 2022-09-20 13:23:55 UTC Pool ID sst_cs_apps_rhel_9
Honza Horak 2022-09-20 13:24:39 UTC Blocks 2128241
Honza Horak 2022-09-20 13:33:28 UTC Blocks 2128419
Honza Horak 2022-09-20 13:58:46 UTC Doc Type If docs needed, set a value Release Note
Doc Text TBD - We should list main features in v14 and v15 (since v14 was skipped and is not available in RHEL), and a link to the migration guide where should be clearly stated how to migrate.
Red Hat One Jira (issues.redhat.com) 2022-09-20 14:24:22 UTC Link ID Red Hat Issue Tracker RHELPLAN-134433
RHEL Program Management 2022-09-20 17:49:40 UTC Keywords FutureFeature Triaged
Vaclav Danek 2022-10-14 13:00:41 UTC CC vdanek
Honza Horak 2022-10-19 14:36:57 UTC Type Bug Epic
Filip Januš 2022-11-07 10:52:13 UTC QA Contact rhel-cs-apps-subsystem-qe vdanek
Status NEW ASSIGNED
Filip Januš 2022-11-08 08:56:34 UTC Doc Text TBD - We should list main features in v14 and v15 (since v14 was skipped and is not available in RHEL), and a link to the migration guide where should be clearly stated how to migrate. PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms
Filip Januš 2022-12-02 14:56:51 UTC Status ASSIGNED MODIFIED
errata-xmlrpc 2022-12-02 14:58:23 UTC Status MODIFIED ON_QA
Filip Januš 2022-12-07 09:56:42 UTC Doc Text PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms
PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms

Possible failures after update to PostgreSQL 15:
- The default permissions of the public schema have been modified.
Newly created users need to grant permission explicitly.
https://www.cybertec-postgresql.com/en/error-permission-denied-schema-public/
- libpq's PQsendQuery() function is no longer supported in pipeline mode
https://www.postgresql.org/docs/current/release-15.html
Gabi Fialová 2023-01-30 12:07:35 UTC Doc Type Release Note Enhancement
Docs Contact sjanderk
Lenka Špačková 2023-01-31 13:54:57 UTC Docs Contact sjanderk lkuprova
Filip Januš 2023-02-13 09:58:08 UTC Doc Text PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms

Possible failures after update to PostgreSQL 15:
- The default permissions of the public schema have been modified.
Newly created users need to grant permission explicitly.
https://www.cybertec-postgresql.com/en/error-permission-denied-schema-public/
- libpq's PQsendQuery() function is no longer supported in pipeline mode
https://www.postgresql.org/docs/current/release-15.html
PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms

Possible failures after update to PostgreSQL 15:
- The default permissions of the public schema have been modified.
Newly created users need to grant permission explicitly.
https://www.cybertec-postgresql.com/en/error-permission-denied-schema-public/
- libpq's PQsendQuery() function is no longer supported in pipeline mode
https://www.postgresql.org/docs/current/release-15.html

Improvement of systemd unit file. Postgresql service should be started after the network is up.
Lenka Špačková 2023-02-22 07:14:35 UTC Fixed In Version postgresql-15-9020020230213093256.rhel9
Doc Text PostgreSQL now lets you access JSON data using subscripts, e.g. a query like SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];

introduction of the "multirange" data type

PostgreSQL adds several new features to help with monitoring and observability, including the ability to track the progress of COPY commands, write-ahead-log (WAL) activity, and statistics on replication slots. Enabling compute_query_id lets you uniquely track a query through several PostgreSQL features, including pg_stat_activity, EXPLAIN VERBOSE, and more.

includes several improvements to PostgreSQL's query parallelism support, including better performance of parallel sequential scans, the ability for PL/pgSQL to execute parallel queries when using the RETURN QUERY command, and enabling REFRESH MATERIALIZED VIEW

PostgreSQL now includes the SQL standard MERGE command. MERGE lets you write conditional SQL statements that can include INSERT, UPDATE, and DELETE actions within a single statement.
This latest release adds new functions for using regular expressions to inspect strings: regexp_count(), regexp_instr(), regexp_like(), and regexp_substr(). PostgreSQL 15 also extends the range_agg function to aggregate multirange data types, which were introduced in the previous release.
PostgreSQL 15 lets users create views that query data using the permissions of the caller, not the view creator. This option, called security_invoker, adds an additional layer of protection to ensure that view callers have the correct permissions for working with the underlying data.
The performance improvements in PostgreSQL 15 extend to its archiving and backup facilities. PostgreSQL 15 adds support for LZ4 and Zstandard (zstd)

PostgreSQL improves on its in-memory and on-disk sorting algorithms

Possible failures after update to PostgreSQL 15:
- The default permissions of the public schema have been modified.
Newly created users need to grant permission explicitly.
https://www.cybertec-postgresql.com/en/error-permission-denied-schema-public/
- libpq's PQsendQuery() function is no longer supported in pipeline mode
https://www.postgresql.org/docs/current/release-15.html

Improvement of systemd unit file. Postgresql service should be started after the network is up.
.A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features`, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq`'s `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
Lenka Špačková 2023-02-22 07:45:21 UTC Doc Text .A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features`, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq`'s `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
.A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq` `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
Vaclav Danek 2023-02-27 09:42:56 UTC Status ON_QA VERIFIED
Lenka Špačková 2023-03-02 07:30:27 UTC Doc Text .A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq` `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
.A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity.
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans.
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command.
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command.

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq` `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
errata-xmlrpc 2023-05-09 00:33:41 UTC Status VERIFIED RELEASE_PENDING
errata-xmlrpc 2023-05-09 07:44:08 UTC Status RELEASE_PENDING CLOSED
Resolution --- ERRATA
Last Closed 2023-05-09 07:44:08 UTC
errata-xmlrpc 2023-05-09 07:44:12 UTC Link ID Red Hat Product Errata RHEA-2023:2294
Lenka Špačková 2023-08-14 15:39:56 UTC Doc Text .A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity.
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans.
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command.
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command.

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq` `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 8 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].
.A new module stream: `postgresql:15`

RHEL 9.2 introduces `PostgreSQL 15` as the `postgresql:15` module stream. `PostgreSQL 15` provides a number of new features and enhancements over version 13. Notable changes include:

* You can now access `PostgreSQL` JSON data by using subscripts. Example query:
+
----
SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
----

* `PostgreSQL` now supports multirange data types and extends the `range_agg` function to aggregate multirange data types.

* `PostgreSQL` improves monitoring and observability:

** You can now track progress of the `COPY` commands and Write-ahead-log (WAL) activity.
** `PostgreSQL` now provides statistics on replication slots.
** By enabling the `compute_query_id` parameter, you can now uniquely track a query through several `PostgreSQL` features, including `pg_stat_activity` or `EXPLAIN VERBOSE`.

* `PostgreSQL` improves support for query parallelism by the following:

** Improved performance of parallel sequential scans.
** The ability of SQL Procedural Language (`PL/pgSQL`) to execute parallel queries when using the `RETURN QUERY` command.
** Enabled parallelism in the `REFRESH MATERIALIZED VIEW` command.

* `PostgreSQL` now includes the SQL standard `MERGE` command. You can use `MERGE` to write conditional SQL statements that can include the `INSERT`, `UPDATE`, and `DELETE` actions in a single statement.

* `PostgreSQL` provides the following new functions for using regular expressions to inspect strings: `regexp_count()`, `regexp_instr()`, `regexp_like()`, and `regexp_substr()`.

* `PostgreSQL` adds the `security_invoker` parameter, which you can use to query data with the permissions of the view caller, not the view creator. This helps you ensure that view callers have the correct permissions for working with the underlying data.

* `PostgreSQL` improves performance, namely in its archiving and backup facilities.

* `PostgreSQL` adds support for the `LZ4` and `Zstandard` (`zstd`) lossless compression algorithms.

* `PostgreSQL` improves its in-memory and on-disk sorting algorithms.

* The updated `postgresql.service` systemd unit file now ensures that the `postgresql` service is started after the network is up.

The following changes are backwards incompatible:

* The default permissions of the public schema have been modified. Newly created users need to grant permission explicitly by using the `GRANT ALL ON SCHEMA public TO myuser;` command. For example:
+
----
postgres=# CREATE USER mydbuser;
postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
postgres=# \c postgres mydbuser
postgres=$ CREATE TABLE mytable (id int);
----

* The `libpq` `PQsendQuery()` function is no longer supported in pipeline mode. Modify affected applications to use the `PQsendQueryParams()` function instead.

See also https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#using-postgresql_configuring-and-using-database-servers[Using PostgreSQL].

To install the `postgresql:15` stream, use:

[literal]
----
# dnf module install postgresql:15
----

If you want to upgrade from an earlier `postgresql` stream within RHEL 9, migrate your `PostgreSQL` data as described in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_using_database_servers/index#migrating-to-a-rhel-9-version-of-postgresql_using-postgresql[Migrating to a RHEL 9 version of PostgreSQL].

For information about the length of support for the `postgresql` module streams, see the link:https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle[Red Hat Enterprise Linux Application Streams Life Cycle].

Back to bug 2128410