From 442adfa35e5e7ae194f0fe6f43f97c594543c6e1 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Mon, 6 Dec 2021 15:30:57 -0500 Subject: [PATCH 01/30] blocking out several files for v 12 release notes --- .../11_epas12.5.6_rel_notes.mdx | 19 ++++++ .../13_epas12xxx_rel_notes.mdx | 10 +++ .../15_epas12xxx_rel_notes.mdx | 10 +++ .../17_epas12xxx_rel_notes.mdx | 21 ++++++ .../19_epas12xxx_rel_notes.mdx | 18 +++++ .../20_epas12xxx_rel_notes.mdx | 67 +++++++++++++++++++ .../13/epas_rel_notes_v12/images/edb_logo.png | 3 + .../13/epas_rel_notes_v12/images/edb_logo.svg | 19 ++++++ .../docs/epas/13/epas_rel_notes_v12/index.mdx | 23 +++++++ 9 files changed, 190 insertions(+) create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx new file mode 100644 index 00000000000..bf4d00d4fde --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx @@ -0,0 +1,19 @@ +--- +title: Version 12.5.6 +--- + +EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ---------------- | -- | -------- | +| Bug Fix | As ROWIDs are generated by the system internally, values for the rowid column are not dumped. Thus we should not dump the rowid sequence state using setval() too. Otherwise, it gives an error with data-only dump-restore. So skip dumping ROWID sequence state. [Support Ticket: #1095864] | DB‑682 | | +| Bug Fix | Fixed crash with COPY FROM and/or foreign partition routing operations performed on libpq_dblink and oci_dblink FDW table. | DB-804 | | +| Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | +| Bug Fix | Allow dynamic partition creation to non-owner insert queries. Support Ticket: #1073281] | DB-769 | | +| Bug Fix | We create this system column for all the foreign tables. However, only oci_dblink and libpq_dblink FDWs use it and the code, assumes that this column is used with these two FDWs only. Which is wrong, this commit fixes the assertion failure when system column "__remote_rowid_" is selected.] | DB-749 | | +| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Support Ticket: #] | | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx new file mode 100644 index 00000000000..ac1abe2adb8 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx @@ -0,0 +1,10 @@ +--- +title: Version 13.4.8 +--- + +EDB Postgres Advanced Server 13.4.8 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ---------------- | -- | -------- | +| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` message. [Support Ticket: #72626] | DB‑1449 | | +| Bug Fix | Allow use of the utility under non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx new file mode 100644 index 00000000000..91b251cf732 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx @@ -0,0 +1,10 @@ +--- +title: Version 13.3.7 +--- + +EDB Postgres Advanced Server 13.3.7 includes the following bug fixes: + +| Type | Description | ID | +| ---- | ---------------- | -- | +| Bug Fix | Fix `pg_upgrade` to allow the system catalog composite type used in user tables. | DB-1237 | +| Bug Fix | Fix possible misbehavior when aborting an autonomous transaction and also fix interaction of autonomous transactions with `edb_stmt_level_tx=on`. | DB‑1034 | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx new file mode 100644 index 00000000000..41f267175f0 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx @@ -0,0 +1,21 @@ +--- +title: Version 13.3.6 +--- + +EDB Postgres Advanced Server 13.3.6 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ---------------- | -- | -------- | +| Bug Fix | Prevent some uses of `COMMIT` and `ROLLBACK` in stored procedures that were unsafe and could cause crashes. [Support Ticket: #1234722] | DB‑1183 | | +| Bug Fix | Prevent `index_advisor` from interfering with materialized view creation. [Support Ticket: #1189859] | DB-1154 | | +| Bug Fix | Support password redaction in `edb_filter_log` with the extended protocol, specially used with connectors. [Support Ticket: #1234131] | DB-1139 | | +| Bug Fix | Correct `QUEUE` object handling in `EVENT TRIGGER`. | DB-1129 | | +| Bug Fix | Correct `REDACTION COLUMN` object handling in `EVENT TRIGGER`. | DB-1129 | | +| Bug Fix | Correct mishandling of `CREATE` and `DROP` views with autonomous transactions. | DB-1116 | | +| Bug Fix | Fix `pg_upgrade` to not fail when a custom configuration file directory is used. [Support Ticket: #1200560] | DB-1084 | | +| Bug Fix | Refrain from dropping trigger on parent table through partitioning dependency. [Support Ticket: #1187215] | DB-1063 | | +| Bug Fix | Free temporary memory to avoid PGA memory accumulation and exceeds errors. [Support Ticket: #1129386] | DB-1061 | dblink_ora | +| Bug Fix | Fix possible server crash with partition-wish join push-down code path. | DB-1042 | edb_dblink_oci | +| Bug Fix | Fix SPL plancache reference leak warning with parallel query. | DB-871 | | +| Bug Fix | Fix incorrect error message in `edbldr`. [Support Ticket: #1104048] | DB-826 | | +| Bug Fix | Allow partition creation with `ROWIDS` option. | DB-731 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx new file mode 100644 index 00000000000..fdf9a1b11ab --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx @@ -0,0 +1,18 @@ +--- +title: Version 13.2.5 +--- + +EDB Postgres Advanced Server 13.2.5 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ------------ | -- | -------- | +| Bug Fix | Use correct relation information while loading into multiple tables with a single control file to avoid unexpected behavior. [Support Ticket: #1165964] | DB‑973 | edbldr | +| Bug Fix | For nested subprocedures, verify that a set-returning function is called in a valid place or not. | DB-946 | | +| Bug Fix | Skip fetching hidden columns in `IMPORT FOREIGN SCHEMA`. [Support Ticket: #1151273] | DB-945 | postgres_fdw | +| Bug Fix | Skip parallel mode check in `nextval()` when it's been called for `rowid` during `CREATE TABLE AS SELECT`. (#1115113) | DB-937 | | +| Bug Fix | Skip SQL Protect-related files when running `pg_checksums` or `pg_verify_checksums`. [Support Ticket: #1140841] | DB-919 | | +| Bug Fix | Forbid `CONNECT_BY_ROOT` and `SYS_CONNECT_BY_PATH` in join expressions. | DB-914 | | +| Bug Fix | Correct start position handling with multibyte encodings in `INSTR`. [Support Ticket: #1133262] | DB-911 | | +| Bug Fix | Remove obsolete function overloading check condition in `pg_dump`. [Support Ticket: #1133344] | DB-892 | | +| Bug Fix | Fix handling of whitespaces when the delimiter is whitespace. [Support Ticket: #1060286] | DB-739 | edbldr | +| Bug Fix | Resolution for server crash on executing the cached plan for an expression in a temporary expression state. | DB-650 | SPL | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx new file mode 100644 index 00000000000..4536c282e7e --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx @@ -0,0 +1,67 @@ +--- +title: "Version 13.1.4" +--- + + + + + +New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 13 include: + +| Type | Description | +| ----------- | ---------------- | +| Feature | Automatic LIST Partitioning is an extension to LIST partitioning that allows a database to automatically create a partition for any new distinct value of the LIST partitioning key. A new partition is created when data is inserted into the LIST partitioned table and the inserted value does not match any of the existing table partitions. | +| Feature | Additional `smallint`, `int`, `bigint`, and `numeric` variants in the `MEDIAN` aggregate function. | +| Feature | Added support for `CREATE INDEX` syntax that contains a column name and number, i.e. `(col_name,1)`. | +| Feature | Added support to alter the owner of the directory - `ALTER DIRECTORY OWNER TO `. | +| Feature | CSV and XML audit logs have been made consistent. It has been observed that there is a difference in terms of number of fields in the CSV and XML formatted audit logs. Now the audit log is consistent across both formats. | +| Feature | Default behaviour for `dbms_output` made compatible with Redwood. By default, the `dbms_output` behaviour is `off` in Oracle; in EPAS it is always `on`. In this release, EPAS adds a GUC to control the default behaviour for `DBMS_OUTPUT` package. | +| Feature | You can log the number of processed statements with `edb_log_every_bulk_value`. | | Currently, during bulk execution EPAS did not identify the number of rows processed when `edb_log_every_bulk_value` was `off`. This feature allows EPAS to log it both in the audit log file and server log file. This will help you analyze the logs for such cases. | +| Feature | Previously, EDB Loader would abort the whole operation if any record insertion fails due to a unique constraint violation. This is fixed by using speculative insertion to insert rows. This behavior is enforced if `handle_conflicts` (a new parameter) is `true` and indexes are present. | +| Feature | `SYSDATE` now behaves in a more compatible manner. `SYSDATE` output changes at every nesting level, so multiple copies of SYSDATE in the same SQL query will return the same value each time. `SYSDATE` changes on successive statements in the same procedure or within a nested function call. | +| Feature | `PARALLEL [n] \| NOPARALLEL` option for `CREATE TABLE` and `INDEX`. Advanced Server now supports the `PARALLEL [n] \| NOPARALLEL` clause in the `CREATE TABLE`, `ALTER TABLE`, `CREATE INDEX`, and `ALTER INDEX` commands to enable or disable parallelism on an index or a table. | +| Feature | `PARTITION [n]` or `SUBPARTITION [n]` while creating a table. This feature allows you to automatically create `[n]` hash partitions at a subpartition level. | +| Feature | EDB Loader supports any connection parameters. You can use the EDB Loader `-c` or `CONNSTR` options to specify any connection parameters supported by libpq. This includes SSL connection parameters. | +| Feature | The `STATS_MODE` function takes a set of values as an argument and returns the value that occurs with the highest frequency. If multiple values appear with the same frequency, the `STATS_MODE` function arbitrarily chooses the first value and returns only that one value. | +| Feature | Added support for DBMS_SQL function/procedures (`DEFINE_COLUMN_LONG`, `COLUMN_VALUE_LONG` and `LAST_ERROR_POSITION`). | +| Feature | Added support for function `to_timestamp_tz()`. | +| Feature | Added support for function/procedure specification inside package body. | +| Feature | Added support for FM format in `to_number` function. | +| Feature | Added support for `AES192` and `AES256` in the `DBMS_CRYPTO` package. | +| Feature | Added support for the spell mode in `to_char(timestamptz, text)` function. | +| Feature | Allow creating a compound trigger having `WHEN` clause with `NEW/OLD` variables and `STATEMENT` level triggering events. Enhanced Redwood compatible view. | +| Feature | Log matched line of `pg_hba.conf` on successful client authentication. Enhanced `pg_catcheck` to test for and raise an error if a relation's `relfilenode` is missing from the `data` directory. | +| Feature | Added support for `utl_http.end_of_body` exception. This feature declares the `end_of_body` exception into `utl_http` package and throws the same from `read_line`, `read_text`, and `read_raw` package procedures when no data is left in the response body. | +| Feature | The `UNIQUE` and `PRIMARY KEY` constraint clauses now have a `CREATE INDEX` statement. This new syntax allows users to specify explicit index details like fillfactor, etc. Columns specified in the constraint and the columns specified in the index must be the same. | + +For information about Advanced Server features that are compatible with Oracle databases, see the Oracle Compatibility Guides. + +## Component Certification + +The following components are included in the EDB Postgres Advanced Server v13 release: + +- EPAS 13.1.4 +- BART 2.6 +- Cloneschema 1.14 +- Connectors JDBC 42.2.12.3, ODBC 12.02.0000.02, .NET 4.1.5.1, OCL 13.1.4.1 +- Edb-Modules 1.0 +- EDBPlus 39.0.1 +- EFM 4.0 +- Hdfs_fdw 2.0.7 +- Mongo_fdw 5.2.8 +- MySQL_fdw 2.5.5 +- MTK 54.0.0 +- Parallel Clone 1.8 +- PEM 7.16 +- PgAdmin 4.27 +- PgAgent 4.2.0 +- PgBouncer 1.14 +- PgPool 4.1.2 +- PostGIS 3.0.2 +- Procedural Language Packs – PL/Perl 5.26, PL/Python 3.7, PL/TCL 8.6 +- Slony 2.2.8 + + + + + diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png new file mode 100644 index 00000000000..f4a93cf57f5 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07423b012a855204780fe5a2a5a1e33607304a5c3020ae4acbf3d575691dedd6 +size 12136 diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg new file mode 100644 index 00000000000..f24d1dfefee --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg @@ -0,0 +1,19 @@ + + + edb-logo-disc-dark + + + + \ No newline at end of file diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx new file mode 100644 index 00000000000..31f33118c94 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx @@ -0,0 +1,23 @@ +--- +navTitle: Release Notes +title: "EDB Postgres Advanced Server Release Notes" + +legacyRedirectsGenerated: +# This list is generated by a script. If you need add entries, use the `legacyRedirects` key. + - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/13/index.html" +--- + +EDB Postgres Advanced Server 13 is built on open-source PostgreSQL 13, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. + +The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 13 including minor releases and patches. The release notes in this section provide information on what was new in each release. + +| Version | Release Date | Upstream Merges | +| ------- | ------------ | --------------- | +| [12.5.6](14_epas13.5.9_rel_notes.mdx) | 2020 Nov 20 | [10.15](https://www.postgresql.org/docs/10/release-10-15.html) | +| [13.4.8](15_epas13.4.8_rel_notes.mdx) | 2021 Sep 28 | [13.4](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) | +| [13.3.7](16_epas13.3.7_rel_notes.mdx) | 2021 May 25 | NA | +| [13.3.6](17_epas13.3.6_rel_notes.mdx) | 2021 May 14 | [13.3](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) | +| [13.2.5](19_epas13.2.5_rel_notes.mdx) | 2021 Feb 2 | [13.2](https://www.postgresql.org/about/news/postgresql-132-126-1111-1016-9621-and-9525-released-2165/) | +| [13.1.4](20_epas13_rel_notes) | 2020 Dec 12 | [13](hhttps://www.postgresql.org/docs/13/release-13.html), [13.1](https://www.postgresql.org/docs/release/13.1/) | + + From 7e0c016352074ca3004e38a5f3358ffb8f25853d Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Mon, 6 Dec 2021 15:46:18 -0500 Subject: [PATCH 02/30] mostly change to 12.5.6 rel notes --- .../11_epas12.5.6_rel_notes.mdx | 16 ++++++++-------- .../docs/epas/13/epas_rel_notes_v12/index.mdx | 7 ++++++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx index bf4d00d4fde..985528245e6 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx @@ -8,12 +8,12 @@ EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: | ---- | ---------------- | -- | -------- | | Bug Fix | As ROWIDs are generated by the system internally, values for the rowid column are not dumped. Thus we should not dump the rowid sequence state using setval() too. Otherwise, it gives an error with data-only dump-restore. So skip dumping ROWID sequence state. [Support Ticket: #1095864] | DB‑682 | | | Bug Fix | Fixed crash with COPY FROM and/or foreign partition routing operations performed on libpq_dblink and oci_dblink FDW table. | DB-804 | | -| Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | -| Bug Fix | Allow dynamic partition creation to non-owner insert queries. Support Ticket: #1073281] | DB-769 | | +| Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. [Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | +| Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1073281] | DB-769 | | | Bug Fix | We create this system column for all the foreign tables. However, only oci_dblink and libpq_dblink FDWs use it and the code, assumes that this column is used with these two FDWs only. Which is wrong, this commit fixes the assertion failure when system column "__remote_rowid_" is selected.] | DB-749 | | -| Bug Fix | Support Ticket: #] | | | -| Bug Fix | Support Ticket: #] | | | -| Bug Fix | Support Ticket: #] | | | -| Bug Fix | Support Ticket: #] | | | -| Bug Fix | Support Ticket: #] | | | -| Bug Fix | Support Ticket: #] | | | +| Bug Fix | Fixed handling of multi-character record separators in edbldr. [Support Ticket: #1051362] | DB-743 | edbldr | +| Bug Fix | Skip sending the ROWID to the subscriber. [Support Ticket: #1055674] | DB-734 | | +| Bug Fix | Fixed server crash during split partition when using edb_partition. | DB-705 | | +| Bug Fix | Fixed group estimate for the remote relation in oci_dblink. | DB-701 | | +| Bug Fix | In non-Pro*C mode, evaluate EXEC SQL IFDEF/IFNDEF expression irrespective of the enclosed 'C' preprocessor directives and emit all 'C' preprocessor directives as-is to the output file. [Support Ticket: #1007795] | DB-551 | ecpg | +| Bug Fix | Fix row incompatibility issue when SUBTYPE is used in composite type. | DB-107 | SPL | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx index 31f33118c94..b3c44d72807 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx @@ -13,7 +13,12 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | Version | Release Date | Upstream Merges | | ------- | ------------ | --------------- | -| [12.5.6](14_epas13.5.9_rel_notes.mdx) | 2020 Nov 20 | [10.15](https://www.postgresql.org/docs/10/release-10-15.html) | +| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [10.15](https://www.postgresql.org/docs/10/release-10-15.html) | + + + + + | [13.4.8](15_epas13.4.8_rel_notes.mdx) | 2021 Sep 28 | [13.4](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) | | [13.3.7](16_epas13.3.7_rel_notes.mdx) | 2021 May 25 | NA | | [13.3.6](17_epas13.3.6_rel_notes.mdx) | 2021 May 14 | [13.3](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) | From 60c003a3b5ab0e47495eb8a3ed22484b5fded068 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Mon, 6 Dec 2021 16:19:38 -0500 Subject: [PATCH 03/30] Update 11_epas12.5.6_rel_notes.mdx --- .../11_epas12.5.6_rel_notes.mdx | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx index 985528245e6..a9a468b1208 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx @@ -6,14 +6,21 @@ EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | -| Bug Fix | As ROWIDs are generated by the system internally, values for the rowid column are not dumped. Thus we should not dump the rowid sequence state using setval() too. Otherwise, it gives an error with data-only dump-restore. So skip dumping ROWID sequence state. [Support Ticket: #1095864] | DB‑682 | | -| Bug Fix | Fixed crash with COPY FROM and/or foreign partition routing operations performed on libpq_dblink and oci_dblink FDW table. | DB-804 | | -| Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. [Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | -| Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1073281] | DB-769 | | -| Bug Fix | We create this system column for all the foreign tables. However, only oci_dblink and libpq_dblink FDWs use it and the code, assumes that this column is used with these two FDWs only. Which is wrong, this commit fixes the assertion failure when system column "__remote_rowid_" is selected.] | DB-749 | | -| Bug Fix | Fixed handling of multi-character record separators in edbldr. [Support Ticket: #1051362] | DB-743 | edbldr | -| Bug Fix | Skip sending the ROWID to the subscriber. [Support Ticket: #1055674] | DB-734 | | -| Bug Fix | Fixed server crash during split partition when using edb_partition. | DB-705 | | -| Bug Fix | Fixed group estimate for the remote relation in oci_dblink. | DB-701 | | -| Bug Fix | In non-Pro*C mode, evaluate EXEC SQL IFDEF/IFNDEF expression irrespective of the enclosed 'C' preprocessor directives and emit all 'C' preprocessor directives as-is to the output file. [Support Ticket: #1007795] | DB-551 | ecpg | -| Bug Fix | Fix row incompatibility issue when SUBTYPE is used in composite type. | DB-107 | SPL | +| Bug Fix | In case of error coming from standard_planner global pointer is not getting clean up and end up with server crash. Commit fix dangling pointer de-reference for global index candidates [Support Ticket: #1026986] | DB‑682 | | +| Bug Fix | Fix minor problems with non-exclusive backup cleanup [Support Ticket: #1009383] | DB-597 | | +| Bug Fix | Fix to follow the same order to compute the hash values of partition key in which it's defined [Support Ticket: #1010975] | DB-537 | edb_enable_pruning | +| Bug Fix | Make the scope of an autonomous transaction include the exception block [Support Ticket: #977822] | DB-371 | | +| Bug Fix | Throw a proper error when ROWID used with partition table |DB-406 | | +| Bug Fix | Adjust Makefile to use CXXFLAGS with HP-UX C compiler | DB-648 | | +| Bug Fix | Fix FF mode in Redwood to_char() datetime related functions | DB-640 | | +| Bug Fix | Protect (timestamp + number) and (timestamp - number) against overflow. | DB-639 | | +| Bug Fix | Disallow using NULLIF as SQL expression evaluation is not supported in the direct load | DB-477 | edbldr| +| Bug Fix | Don't try to prune a relation falling on the nullable side of a join for HASH partition when edb_enable_pruning is True | DB-154 | edb_partition | +| Bug Fix | Fix assorted issues where ZONED data input length is less than the precision | DB-301 | edbldr | +| Bug Fix | Failed to load data for partition table having foreign key" +EPAS-12 now has llvm support on RHEL-8.???????? +PostgreSQL has now introduced a common YUM repository ??????? +UpdateMonitor is deprecated from this release onwards ??????? | DB-438 | edbldr | +| Bug Fix | Commit move the schema grant statement from edb-sys.sql to code, in order to fix the pg_upgrade for --no-redwood-compat mode. | RM43953 | | +| Bug Fix | Fix pg_dump to not dump build-in extensions. | DB-592 | | + From ed179ff41e975aa444c819370ed1e540b2696a12 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 7 Dec 2021 14:22:22 -0500 Subject: [PATCH 04/30] Text for first two v12 releases, other changes to file names, deletions --- .../11_epas12.5.6_rel_notes copy.mdx | 19 +++++++++++++++++++ ..._notes.mdx => 13_epas12.4.5_rel_notes.mdx} | 12 ++++++------ .../13_epas12xxx_rel_notes.mdx | 10 ---------- .../docs/epas/13/epas_rel_notes_v12/index.mdx | 16 ++++------------ 4 files changed, 29 insertions(+), 28 deletions(-) create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx rename product_docs/docs/epas/13/epas_rel_notes_v12/{11_epas12.5.6_rel_notes.mdx => 13_epas12.4.5_rel_notes.mdx} (79%) delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx new file mode 100644 index 00000000000..c1842dd4821 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx @@ -0,0 +1,19 @@ +--- +title: Version 12.5.6 +--- + +EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ---------------- | -- | -------- | +| Bug Fix | As `ROWIDs` are generated by the system internally, values for the `rowid` column are not dumped. Thus we should not dump the `rowid` sequence state using `setval()` too. Otherwise, it gives an error with data-only dump-restore. So skip dumping `ROWID` sequence state. [Support Ticket: #1095864] | DB-812 | | +| Bug Fix | Fixed crash with `COPY FROM` and/or foreign partition routing operations performed on `libpq_dblink` and `oci_dblink` FDW table. |DB‑804 | | +| Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. [Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | +| Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1073281] | DB-769 | | +| Bug Fix | We create this system column for all the foreign tables. However, only `oci_dblink` and `libpq_dblink` FDWs use it and the code, assumes that this column is used with these two FDWs only. That is incorrect. This commit fixes the assertion failure when system column `__remote_rowid_` is selected. | DB-749 | | +| Bug Fix | Fixed handling of multi-character record separators in edbldr. [Support Ticket: #1051362] | DB-743 | | +| Bug Fix | Skip sending the `ROWID` to the subscriber. [Support Ticket: #1055674] | DB-734 | | +| Bug Fix | Fixed server crash during split partition when using `edb_partition`. | DB-705 | | +| Bug Fix | Fixed group estimate for the remote relation in `oci_dblink`. | DB-701 | | +| Bug Fix | In non-Pro*C mode, evaluate `EXEC SQL IFDEF/IFNDEF` expression irrespective of the enclosed 'C' preprocessor directives and emit all 'C' preprocessor directives as-is to the output file. [Support Ticket: #1007795] | DB-551 | ecpg | +| Bug Fix | Fix row incompatibility issue when `SUBTYPE` is used in composite type. | DB-107 | SPL | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx similarity index 79% rename from product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx rename to product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx index a9a468b1208..589ef72d865 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx @@ -1,8 +1,8 @@ --- -title: Version 12.5.6 +title: Version 12.4.5 --- -EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: +EDB Postgres Advanced Server 12.4.5 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | @@ -17,10 +17,10 @@ EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: | Bug Fix | Disallow using NULLIF as SQL expression evaluation is not supported in the direct load | DB-477 | edbldr| | Bug Fix | Don't try to prune a relation falling on the nullable side of a join for HASH partition when edb_enable_pruning is True | DB-154 | edb_partition | | Bug Fix | Fix assorted issues where ZONED data input length is less than the precision | DB-301 | edbldr | -| Bug Fix | Failed to load data for partition table having foreign key" +| Bug Fix | Failed to load data for partition table having foreign key" | DB-438 | edbldr | + +ARE THE FOLLOWING FEATURES???? EPAS-12 now has llvm support on RHEL-8.???????? PostgreSQL has now introduced a common YUM repository ??????? -UpdateMonitor is deprecated from this release onwards ??????? | DB-438 | edbldr | -| Bug Fix | Commit move the schema grant statement from edb-sys.sql to code, in order to fix the pg_upgrade for --no-redwood-compat mode. | RM43953 | | -| Bug Fix | Fix pg_dump to not dump build-in extensions. | DB-592 | | +UpdateMonitor is deprecated from this release onwards ??????? diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx deleted file mode 100644 index ac1abe2adb8..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12xxx_rel_notes.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Version 13.4.8 ---- - -EDB Postgres Advanced Server 13.4.8 includes the following bug fixes: - -| Type | Description | ID | Category | -| ---- | ---------------- | -- | -------- | -| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` message. [Support Ticket: #72626] | DB‑1449 | | -| Bug Fix | Allow use of the utility under non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx index b3c44d72807..a9b1c6ab330 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx @@ -7,22 +7,14 @@ legacyRedirectsGenerated: - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/13/index.html" --- -EDB Postgres Advanced Server 13 is built on open-source PostgreSQL 13, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. +EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. -The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 13 including minor releases and patches. The release notes in this section provide information on what was new in each release. +The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. | Version | Release Date | Upstream Merges | | ------- | ------------ | --------------- | -| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [10.15](https://www.postgresql.org/docs/10/release-10-15.html) | +| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | +| [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | - - -| [13.4.8](15_epas13.4.8_rel_notes.mdx) | 2021 Sep 28 | [13.4](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) | -| [13.3.7](16_epas13.3.7_rel_notes.mdx) | 2021 May 25 | NA | -| [13.3.6](17_epas13.3.6_rel_notes.mdx) | 2021 May 14 | [13.3](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) | -| [13.2.5](19_epas13.2.5_rel_notes.mdx) | 2021 Feb 2 | [13.2](https://www.postgresql.org/about/news/postgresql-132-126-1111-1016-9621-and-9525-released-2165/) | -| [13.1.4](20_epas13_rel_notes) | 2020 Dec 12 | [13](hhttps://www.postgresql.org/docs/13/release-13.html), [13.1](https://www.postgresql.org/docs/release/13.1/) | - - From 5fa82b65fded7ba06851caeccf2bd24e637b4a40 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 7 Dec 2021 14:54:27 -0500 Subject: [PATCH 05/30] added another v of release notes, some renaming --- ..._notes copy.mdx => 11_epas12.5.6_rel_notes.mdx} | 0 .../epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx | 14 ++++++++++++++ .../epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx | 10 ---------- .../docs/epas/13/epas_rel_notes_v12/index.mdx | 1 + 4 files changed, 15 insertions(+), 10 deletions(-) rename product_docs/docs/epas/13/epas_rel_notes_v12/{11_epas12.5.6_rel_notes copy.mdx => 11_epas12.5.6_rel_notes.mdx} (100%) create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx similarity index 100% rename from product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes copy.mdx rename to product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx new file mode 100644 index 00000000000..0d865bd2288 --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx @@ -0,0 +1,14 @@ +--- +title: Version 13.3.7 +--- + +EDB Postgres Advanced Server 13.3.7 includes the following bug fixes: + +| Type | Description | ID | +| ---- | ---------------- | -- | +| Bug Fix | Fix `dblink_ora_copy()` when copying to EPAS table having `ROWID`. [Support Ticket: #964115] | DB-435 | | +| Bug Fix | Ignore `TOAST` for partitioned tables. [Support Ticket: #983824] | DB-409 | pg_upgrade | +| Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable | scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | +| Bug Fix | Fix server crash when an empty input string is passed to `to_timestamp`. [Support Ticket: #981139] | DB-362 | | +| Bug Fix | Fix potential incorrect result or crash by switching to the right memory context. | DB-319 | Median | +| Bug Fix | Do not push `ROWNUM` to the child scan/join targets paths and disable partition-wise aggregate when query has ROWNUM. | DB-187 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx deleted file mode 100644 index 91b251cf732..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12xxx_rel_notes.mdx +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Version 13.3.7 ---- - -EDB Postgres Advanced Server 13.3.7 includes the following bug fixes: - -| Type | Description | ID | -| ---- | ---------------- | -- | -| Bug Fix | Fix `pg_upgrade` to allow the system catalog composite type used in user tables. | DB-1237 | -| Bug Fix | Fix possible misbehavior when aborting an autonomous transaction and also fix interaction of autonomous transactions with `edb_stmt_level_tx=on`. | DB‑1034 | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx index a9b1c6ab330..25d56dc7a66 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx @@ -15,6 +15,7 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | ------- | ------------ | --------------- | | [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | | [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | +| [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | From 61181d231b1b89ca2e318b1bdb072be8b4610085 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 8 Dec 2021 08:54:14 -0500 Subject: [PATCH 06/30] added v 12.2.3 release and other related modifications --- .../15_epas12.3.4_rel_notes.mdx | 4 ++-- .../17_epas12.2.3_rel_notes.mdx | 22 +++++++++++++++++++ .../17_epas12xxx_rel_notes.mdx | 21 ------------------ .../docs/epas/13/epas_rel_notes_v12/index.mdx | 1 + 4 files changed, 25 insertions(+), 23 deletions(-) create mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx index 0d865bd2288..0eada0cb220 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx @@ -1,8 +1,8 @@ --- -title: Version 13.3.7 +title: Version 12.3.4 --- -EDB Postgres Advanced Server 13.3.7 includes the following bug fixes: +EDB Postgres Advanced Server 12.3.4 includes the following bug fixes: | Type | Description | ID | | ---- | ---------------- | -- | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx new file mode 100644 index 00000000000..0c7e8e6865b --- /dev/null +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx @@ -0,0 +1,22 @@ +--- +title: Version 12.2.3 +--- + +EDB Postgres Advanced Server 12.2.3 includes the following bug fixes: + +| Type | Description | ID | Category | +| ---- | ---------------- | -- | -------- | +| Bug Fix | Suppressed error detail when password expiration is set to infinity while using password profiles. | RM44176 | | +| Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB-228 | | +| Bug Fix | Disabled partition pruning while fetching a cursor rowtype. [Support Ticket: #950257] | RM44174 | | +| Bug Fix | Fixed invalid memory context handling inside `switchToVariableContext()`. | RM44164 | | +| Bug Fix | Fixed execution of empty statements via expired accounts. [Support Ticket: #942512] | RM44155 | | +| Bug Fix | Skipped expression simplification while fetching cursor rowtype. [Support Ticket: #950257] | RM44151 | | +| Bug Fix | Fixed `DROP TRIGGER` by name behavior for statement-level triggers. | RM44141 | | +| Bug Fix | Fixed `makeConst()` call arguments to order correctly in `parse_spl_var()`. | RM44130 | | +| Bug Fix | Fixed TAP testcase failure. | RM44129 | | +| Bug Fix | Fixed server crash in interval partitioning with `CLOBBER_CACHE_ALWAYS` build. | RM44128/ DB-132 | | +| Bug Fix | Changed datatype from int to double to avoid wrap-around in password profile. | RM44118 | | +| Bug Fix | Fixed handling of subtypes in the extended protocol. | RM44123 | | +| Bug Fix | Fixed `CREATE TRIGGER .. AUTHORIZATION` behavior to avoid potential `pg_upgrade` failures. | RM44109 | | +| Bug Fix | Cleared `rolpasswordsetat` when a user is renamed. | RM44108 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx deleted file mode 100644 index 41f267175f0..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12xxx_rel_notes.mdx +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Version 13.3.6 ---- - -EDB Postgres Advanced Server 13.3.6 includes the following bug fixes: - -| Type | Description | ID | Category | -| ---- | ---------------- | -- | -------- | -| Bug Fix | Prevent some uses of `COMMIT` and `ROLLBACK` in stored procedures that were unsafe and could cause crashes. [Support Ticket: #1234722] | DB‑1183 | | -| Bug Fix | Prevent `index_advisor` from interfering with materialized view creation. [Support Ticket: #1189859] | DB-1154 | | -| Bug Fix | Support password redaction in `edb_filter_log` with the extended protocol, specially used with connectors. [Support Ticket: #1234131] | DB-1139 | | -| Bug Fix | Correct `QUEUE` object handling in `EVENT TRIGGER`. | DB-1129 | | -| Bug Fix | Correct `REDACTION COLUMN` object handling in `EVENT TRIGGER`. | DB-1129 | | -| Bug Fix | Correct mishandling of `CREATE` and `DROP` views with autonomous transactions. | DB-1116 | | -| Bug Fix | Fix `pg_upgrade` to not fail when a custom configuration file directory is used. [Support Ticket: #1200560] | DB-1084 | | -| Bug Fix | Refrain from dropping trigger on parent table through partitioning dependency. [Support Ticket: #1187215] | DB-1063 | | -| Bug Fix | Free temporary memory to avoid PGA memory accumulation and exceeds errors. [Support Ticket: #1129386] | DB-1061 | dblink_ora | -| Bug Fix | Fix possible server crash with partition-wish join push-down code path. | DB-1042 | edb_dblink_oci | -| Bug Fix | Fix SPL plancache reference leak warning with parallel query. | DB-871 | | -| Bug Fix | Fix incorrect error message in `edbldr`. [Support Ticket: #1104048] | DB-826 | | -| Bug Fix | Allow partition creation with `ROWIDS` option. | DB-731 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx index 25d56dc7a66..4afeab84685 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx @@ -16,6 +16,7 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | | [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | | [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | +| [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | From 1330d618bee9e3bea0ae1efd9f262c46f9a2a611 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 8 Dec 2021 13:48:56 -0500 Subject: [PATCH 07/30] Fixed a typo in v13 descriptions --- .../epas/12/epas_platform_support/index.mdx | 31 +++++++ .../12/epas_rel_notes/19_epas12_rel_notes.mdx | 42 +++++++++ .../docs/epas/12/epas_rel_notes/index.mdx | 90 ++++++------------- .../14_epas13.5.9_rel_notes.mdx | 2 +- .../15_epas13.4.8_rel_notes.mdx | 2 +- .../17_epas13.3.6_rel_notes.mdx | 2 +- .../13_epas12.4.5_rel_notes.mdx | 8 +- .../19_epas12xxx_rel_notes.mdx | 18 ---- .../20_epas12xxx_rel_notes.mdx | 67 -------------- 9 files changed, 106 insertions(+), 156 deletions(-) create mode 100644 product_docs/docs/epas/12/epas_platform_support/index.mdx create mode 100644 product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx diff --git a/product_docs/docs/epas/12/epas_platform_support/index.mdx b/product_docs/docs/epas/12/epas_platform_support/index.mdx new file mode 100644 index 00000000000..64b6e820e7b --- /dev/null +++ b/product_docs/docs/epas/12/epas_platform_support/index.mdx @@ -0,0 +1,31 @@ +--- +title: "Supported Platforms" + +redirects: + - /epas/12/epas_inst_linux/02_supported_platforms +legacyRedirectsGenerated: + # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. + - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/installation-guide-for-linux/13/EDB_Postgres_Advanced_Server_Installation_Guide_Linux.1.04.html" +--- + +EDB Postgres Advanced Server v12 installers support 64 bit Linux and Windows server platforms. The Advanced Server 12 RPM packages are supported on the following 64-bit Linux platforms: + +- Red Hat Enterprise Linux (x86_64) 7.x and 8.x +- CentOS (x86_64) 7.x and 8.x +- OL (x86_64) 7.x and 8.x +- PPC64LE 8 running CentOS/RHEL 7.x + +The EDB Postgres Advanced Server 12 native packages are supported on the following 64-bit Linux platforms: + +- Debian 9.x and 10.x +- Ubuntu 18.04 LTS + +Graphical installers are supported on the following 64-bit Windows platforms: + +- Windows 2019 +- Windows Server 2016 +- Windows Server 2012 R2 Server + +See [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility) + for additional information about supported platforms. + diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx new file mode 100644 index 00000000000..dbcc4588d85 --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx @@ -0,0 +1,42 @@ +--- +title: "Version 12.0.0" + +redirects: + - /epas/12/epas_rel_notes/index +--- + +New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 12 include: + +| Type | Description | +| ----------- | ---------------- | +| Feature | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | +| Feature | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | +| Feature | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | +| Feature | Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. | +| Feature | Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` is an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. | +| Feature | Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. | +| Feature | The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. | +| Feature | The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time and interval types and much like other aggregate functions, it can be used with window function as well. | +| Feature | In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. | +| Feature | Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. | +| Feature | Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). | +| Feature | Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. | +| Feature | Advanced Server now offers a new that provides information that is compatible with the Oracle data dictionary views: `{USER|ALL|DBA}_TAB_PRIVS`, `{USER|ALL|DBA}_COL_PRIVS`, and `{USER|ALL|DBA}_TAB_DEPENDENCIES`.| + + +## Component Certification + +The following components are included in the EDB Postgres Advanced Server v12 release: + +- Procedural Language Packs – PL/Perl 5.26, PL/Python 3.7, PL/TCL 8.6 +- CloneSchema 1.10 +- Parallel Clone 1.5 +- pgAgent 4.15 +- Slony 2.2.8 +- Connectors JDBC 42.2.8, ODBC 12.00.0000 .NET 4.0.10.1, OCI 11.0.3.1 +- pgAdmin 4.15 +- pgBouncer 1.12.0 +- pgPool-II & pgPool-IIExtensions 4.0.6 +- MTK 53.0.0 +- EDBPlus 38.0.0 +- PostGIS-JDBC 2.2.1 \ No newline at end of file diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index 635d3577cdd..113011335ff 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -2,6 +2,35 @@ navTitle: Release Notes title: "EDB Postgres Advanced Server Release Notes" +legacyRedirectsGenerated: +# This list is generated by a script. If you need to add entries, use the `legacyRedirects` key. + - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/index.html" +--- + +EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. + +The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. + +| Version | Release Date | Upstream Merges | +| ------- | ------------ | --------------- | +| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | +| [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | +| [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | +| [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | + + + + + + + + + + + + +--- + legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/toc.html" @@ -52,70 +81,9 @@ Documentation is provided on the EnterpriseDB website, visit: -## Supported Platforms - -EDB Postgres Advanced Server v12 installers support 64 bit Linux and Windows server platforms. The Advanced Server 12 RPM packages are supported on the following 64-bit Linux platforms: - -- Red Hat Enterprise Linux (x86_64) 7.x and 8.x -- CentOS (x86_64) 7.x and 8.x -- OL (x86_64) 7.x and 8.x -- PPC64LE 8 running CentOS/RHEL 7.x - -The EDB Postgres Advanced Server 12 native packages are supported on the following 64-bit Linux platforms: - -- Debian 9.x and 10.x -- Ubuntu 18.04 LTS - -Graphical installers are supported on the following 64-bit Windows platforms: - -- Windows 2019 -- Windows Server 2016 -- Windows Server 2012 R2 Server - -See [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility) - for additional information about supported platforms. - - -## Component Certification - -The following components are included in the EDB Postgres Advanced Server v12 release: - -- Procedural Language Packs – PL/Perl 5.26, PL/Python 3.7, PL/TCL 8.6 -- CloneSchema 1.10 -- Parallel Clone 1.5 -- pgAgent 4.15 -- Slony 2.2.8 -- Connectors JDBC 42.2.8, ODBC 12.00.0000 .NET 4.0.10.1, OCI 11.0.3.1 -- pgAdmin 4.15 -- pgBouncer 1.12.0 -- pgPool-II & pgPool-IIExtensions 4.0.6 -- MTK 53.0.0 -- EDBPlus 38.0.0 -- PostGIS-JDBC 2.2.1 ## EDB Postgres Advanced Server v12 Features -The major highlights of this release are : - -- Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. -- For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (i.e. they can be used interchangeably in all places). -- Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. -- Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. -- Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` is an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. -- Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. -- The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. -- The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time and interval types and much like other aggregate functions, it can be used with window function as well. -- In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. -- Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. -- Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). -- Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. -- Advanced Server now offers new view that provide information which is compatible with the Oracle data dictionary views: - - `{USER|ALL|DBA}_TAB_PRIVS` - - `{USER|ALL|DBA}_COL_PRIVS` - - `{USER|ALL|DBA}_TAB_DEPENDENCIES` For information about Advanced Server features that are compatible with Oracle databases, see the following guides: diff --git a/product_docs/docs/epas/13/epas_rel_notes/14_epas13.5.9_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes/14_epas13.5.9_rel_notes.mdx index b4aabe7b613..c90e926bedf 100644 --- a/product_docs/docs/epas/13/epas_rel_notes/14_epas13.5.9_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes/14_epas13.5.9_rel_notes.mdx @@ -6,7 +6,7 @@ EDB Postgres Advanced Server 13.5.9 includes the following bug fixes: | Type | Description | ID | Category | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------- | -| Upstream Merge | Merged with communuity PostgreSQL 13.5. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-141-135-129-1114-1019-and-9624-released-2349/) for details. | | | +| Upstream Merge | Merged with community PostgreSQL 13.5. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-141-135-129-1114-1019-and-9624-released-2349/) for details. | | | | Bug Fix | Obey the AM meridian indicator correctly in `to_timestamp()`. [Support Ticket: #74035] | DB-149 | | | Bug Fix | Fix `dbms_job.upgrade.script.sql` script to replace `CREATE EXTENSION ... FROM ...` with `CREATE EXTENSION ... VERSION unpackaged`. [Support Ticket: #73176] | DB-1461 | | | Bug Fix | Prevent possible crash after implicit rollback handling `Parse` protocol message. [Support Ticket: #72626] | DB-1449 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx index 654433981ca..50d543c774d 100644 --- a/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx @@ -6,6 +6,6 @@ EDB Postgres Advanced Server 13.4.8 includes the following bug fixes: | Type | Description | ID | Category | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | -| Upstream Merge | Merged with communuity PostgreSQL 13.4. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) for details. | | | +| Upstream Merge | Merged with community PostgreSQL 13.4. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) for details. | | | | Bug Fix | Prevent possible crash after implicit rollback handling `Parse` message. [Support Ticket: #72626] | DB-1449 | | | Bug Fix | Allow use of the utility under non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | diff --git a/product_docs/docs/epas/13/epas_rel_notes/17_epas13.3.6_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes/17_epas13.3.6_rel_notes.mdx index b35a2089e10..c4dca436fcc 100644 --- a/product_docs/docs/epas/13/epas_rel_notes/17_epas13.3.6_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes/17_epas13.3.6_rel_notes.mdx @@ -6,7 +6,7 @@ EDB Postgres Advanced Server 13.3.6 includes the following bug fixes: | Type | Description | ID | Category | | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------- | -| Upstream Merge | Merged with communuity PostgreSQL 13.3. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) for details. | | | +| Upstream Merge | Merged with community PostgreSQL 13.3. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) for details. | | | | Bug Fix | Prevent some uses of `COMMIT` and `ROLLBACK` in stored procedures that were unsafe and could cause crashes. [Support Ticket: #1234722] | DB-1183 | | | Bug Fix | Prevent `index_advisor` from interfering with materialized view creation. [Support Ticket: #1189859] | DB-1154 | | | Bug Fix | Support password redaction in `edb_filter_log` with the extended protocol, specially used with connectors. [Support Ticket: #1234131] | DB-1139 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx index 589ef72d865..9c8cb22b552 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx @@ -17,10 +17,4 @@ EDB Postgres Advanced Server 12.4.5 includes the following bug fixes: | Bug Fix | Disallow using NULLIF as SQL expression evaluation is not supported in the direct load | DB-477 | edbldr| | Bug Fix | Don't try to prune a relation falling on the nullable side of a join for HASH partition when edb_enable_pruning is True | DB-154 | edb_partition | | Bug Fix | Fix assorted issues where ZONED data input length is less than the precision | DB-301 | edbldr | -| Bug Fix | Failed to load data for partition table having foreign key" | DB-438 | edbldr | - -ARE THE FOLLOWING FEATURES???? -EPAS-12 now has llvm support on RHEL-8.???????? -PostgreSQL has now introduced a common YUM repository ??????? -UpdateMonitor is deprecated from this release onwards ??????? - +| Bug Fix | Failed to load data for partition table having foreign key" | DB-438 | edbldr | \ No newline at end of file diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx deleted file mode 100644 index fdf9a1b11ab..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/19_epas12xxx_rel_notes.mdx +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Version 13.2.5 ---- - -EDB Postgres Advanced Server 13.2.5 includes the following bug fixes: - -| Type | Description | ID | Category | -| ---- | ------------ | -- | -------- | -| Bug Fix | Use correct relation information while loading into multiple tables with a single control file to avoid unexpected behavior. [Support Ticket: #1165964] | DB‑973 | edbldr | -| Bug Fix | For nested subprocedures, verify that a set-returning function is called in a valid place or not. | DB-946 | | -| Bug Fix | Skip fetching hidden columns in `IMPORT FOREIGN SCHEMA`. [Support Ticket: #1151273] | DB-945 | postgres_fdw | -| Bug Fix | Skip parallel mode check in `nextval()` when it's been called for `rowid` during `CREATE TABLE AS SELECT`. (#1115113) | DB-937 | | -| Bug Fix | Skip SQL Protect-related files when running `pg_checksums` or `pg_verify_checksums`. [Support Ticket: #1140841] | DB-919 | | -| Bug Fix | Forbid `CONNECT_BY_ROOT` and `SYS_CONNECT_BY_PATH` in join expressions. | DB-914 | | -| Bug Fix | Correct start position handling with multibyte encodings in `INSTR`. [Support Ticket: #1133262] | DB-911 | | -| Bug Fix | Remove obsolete function overloading check condition in `pg_dump`. [Support Ticket: #1133344] | DB-892 | | -| Bug Fix | Fix handling of whitespaces when the delimiter is whitespace. [Support Ticket: #1060286] | DB-739 | edbldr | -| Bug Fix | Resolution for server crash on executing the cached plan for an expression in a temporary expression state. | DB-650 | SPL | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx deleted file mode 100644 index 4536c282e7e..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/20_epas12xxx_rel_notes.mdx +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: "Version 13.1.4" ---- - - - - - -New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 13 include: - -| Type | Description | -| ----------- | ---------------- | -| Feature | Automatic LIST Partitioning is an extension to LIST partitioning that allows a database to automatically create a partition for any new distinct value of the LIST partitioning key. A new partition is created when data is inserted into the LIST partitioned table and the inserted value does not match any of the existing table partitions. | -| Feature | Additional `smallint`, `int`, `bigint`, and `numeric` variants in the `MEDIAN` aggregate function. | -| Feature | Added support for `CREATE INDEX` syntax that contains a column name and number, i.e. `(col_name,1)`. | -| Feature | Added support to alter the owner of the directory - `ALTER DIRECTORY OWNER TO `. | -| Feature | CSV and XML audit logs have been made consistent. It has been observed that there is a difference in terms of number of fields in the CSV and XML formatted audit logs. Now the audit log is consistent across both formats. | -| Feature | Default behaviour for `dbms_output` made compatible with Redwood. By default, the `dbms_output` behaviour is `off` in Oracle; in EPAS it is always `on`. In this release, EPAS adds a GUC to control the default behaviour for `DBMS_OUTPUT` package. | -| Feature | You can log the number of processed statements with `edb_log_every_bulk_value`. | | Currently, during bulk execution EPAS did not identify the number of rows processed when `edb_log_every_bulk_value` was `off`. This feature allows EPAS to log it both in the audit log file and server log file. This will help you analyze the logs for such cases. | -| Feature | Previously, EDB Loader would abort the whole operation if any record insertion fails due to a unique constraint violation. This is fixed by using speculative insertion to insert rows. This behavior is enforced if `handle_conflicts` (a new parameter) is `true` and indexes are present. | -| Feature | `SYSDATE` now behaves in a more compatible manner. `SYSDATE` output changes at every nesting level, so multiple copies of SYSDATE in the same SQL query will return the same value each time. `SYSDATE` changes on successive statements in the same procedure or within a nested function call. | -| Feature | `PARALLEL [n] \| NOPARALLEL` option for `CREATE TABLE` and `INDEX`. Advanced Server now supports the `PARALLEL [n] \| NOPARALLEL` clause in the `CREATE TABLE`, `ALTER TABLE`, `CREATE INDEX`, and `ALTER INDEX` commands to enable or disable parallelism on an index or a table. | -| Feature | `PARTITION [n]` or `SUBPARTITION [n]` while creating a table. This feature allows you to automatically create `[n]` hash partitions at a subpartition level. | -| Feature | EDB Loader supports any connection parameters. You can use the EDB Loader `-c` or `CONNSTR` options to specify any connection parameters supported by libpq. This includes SSL connection parameters. | -| Feature | The `STATS_MODE` function takes a set of values as an argument and returns the value that occurs with the highest frequency. If multiple values appear with the same frequency, the `STATS_MODE` function arbitrarily chooses the first value and returns only that one value. | -| Feature | Added support for DBMS_SQL function/procedures (`DEFINE_COLUMN_LONG`, `COLUMN_VALUE_LONG` and `LAST_ERROR_POSITION`). | -| Feature | Added support for function `to_timestamp_tz()`. | -| Feature | Added support for function/procedure specification inside package body. | -| Feature | Added support for FM format in `to_number` function. | -| Feature | Added support for `AES192` and `AES256` in the `DBMS_CRYPTO` package. | -| Feature | Added support for the spell mode in `to_char(timestamptz, text)` function. | -| Feature | Allow creating a compound trigger having `WHEN` clause with `NEW/OLD` variables and `STATEMENT` level triggering events. Enhanced Redwood compatible view. | -| Feature | Log matched line of `pg_hba.conf` on successful client authentication. Enhanced `pg_catcheck` to test for and raise an error if a relation's `relfilenode` is missing from the `data` directory. | -| Feature | Added support for `utl_http.end_of_body` exception. This feature declares the `end_of_body` exception into `utl_http` package and throws the same from `read_line`, `read_text`, and `read_raw` package procedures when no data is left in the response body. | -| Feature | The `UNIQUE` and `PRIMARY KEY` constraint clauses now have a `CREATE INDEX` statement. This new syntax allows users to specify explicit index details like fillfactor, etc. Columns specified in the constraint and the columns specified in the index must be the same. | - -For information about Advanced Server features that are compatible with Oracle databases, see the Oracle Compatibility Guides. - -## Component Certification - -The following components are included in the EDB Postgres Advanced Server v13 release: - -- EPAS 13.1.4 -- BART 2.6 -- Cloneschema 1.14 -- Connectors JDBC 42.2.12.3, ODBC 12.02.0000.02, .NET 4.1.5.1, OCL 13.1.4.1 -- Edb-Modules 1.0 -- EDBPlus 39.0.1 -- EFM 4.0 -- Hdfs_fdw 2.0.7 -- Mongo_fdw 5.2.8 -- MySQL_fdw 2.5.5 -- MTK 54.0.0 -- Parallel Clone 1.8 -- PEM 7.16 -- PgAdmin 4.27 -- PgAgent 4.2.0 -- PgBouncer 1.14 -- PgPool 4.1.2 -- PostGIS 3.0.2 -- Procedural Language Packs – PL/Perl 5.26, PL/Python 3.7, PL/TCL 8.6 -- Slony 2.2.8 - - - - - From 01729f45dbdc24ce24e9ff3e67b8019184cb068c Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 8 Dec 2021 14:19:34 -0500 Subject: [PATCH 08/30] Numerous changes to set up release notes for v12 --- .../02_supported_platforms.mdx | 22 ------------------- .../epas/12/epas_platform_support/index.mdx | 13 ++++++----- .../11_epas12.5.6_rel_notes.mdx | 1 + .../13_epas12.4.5_rel_notes.mdx | 1 + .../15_epas12.3.4_rel_notes.mdx | 1 + .../17_epas12.2.3_rel_notes.mdx | 1 + .../01_supported_platforms.mdx | 15 ------------- .../13/epas_rel_notes_v12/images/edb_logo.png | 3 --- .../13/epas_rel_notes_v12/images/edb_logo.svg | 19 ---------------- .../docs/epas/13/epas_rel_notes_v12/index.mdx | 22 ------------------- 10 files changed, 12 insertions(+), 86 deletions(-) delete mode 100644 product_docs/docs/epas/12/epas_inst_linux/02_supported_platforms.mdx rename product_docs/docs/epas/{13/epas_rel_notes_v12 => 12/epas_rel_notes}/11_epas12.5.6_rel_notes.mdx (90%) rename product_docs/docs/epas/{13/epas_rel_notes_v12 => 12/epas_rel_notes}/13_epas12.4.5_rel_notes.mdx (89%) rename product_docs/docs/epas/{13/epas_rel_notes_v12 => 12/epas_rel_notes}/15_epas12.3.4_rel_notes.mdx (83%) rename product_docs/docs/epas/{13/epas_rel_notes_v12 => 12/epas_rel_notes}/17_epas12.2.3_rel_notes.mdx (88%) delete mode 100644 product_docs/docs/epas/12/epas_upgrade_guide/01_supported_platforms.mdx delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg delete mode 100644 product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx diff --git a/product_docs/docs/epas/12/epas_inst_linux/02_supported_platforms.mdx b/product_docs/docs/epas/12/epas_inst_linux/02_supported_platforms.mdx deleted file mode 100644 index 1ef779b55ad..00000000000 --- a/product_docs/docs/epas/12/epas_inst_linux/02_supported_platforms.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Supported Platforms" - -legacyRedirectsGenerated: - # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/installation-guide-for-linux/12/EDB_Postgres_Advanced_Server_Installation_Guide_Linux.1.04.html" ---- - - - -For information about the platforms and versions supported by Advanced Server, see [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility). - - -!!! Note - Advanced Server is no longer supported on RHEL/CentOS/OL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. - -**Limitations** - -The following limitations apply to EDB Postgres Advanced Server: - -- The `data` directory of a production database should not be stored on an NFS file system. -- The LLVM JIT package is supported on RHEL or CentOS 7.x, 8.x, and SLES. LLVM JIT is not supported on PPC-LE 64 running RHEL or CentOS 7.x or 8.x. diff --git a/product_docs/docs/epas/12/epas_platform_support/index.mdx b/product_docs/docs/epas/12/epas_platform_support/index.mdx index 64b6e820e7b..3d41e2a9cca 100644 --- a/product_docs/docs/epas/12/epas_platform_support/index.mdx +++ b/product_docs/docs/epas/12/epas_platform_support/index.mdx @@ -3,9 +3,7 @@ title: "Supported Platforms" redirects: - /epas/12/epas_inst_linux/02_supported_platforms -legacyRedirectsGenerated: - # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/installation-guide-for-linux/13/EDB_Postgres_Advanced_Server_Installation_Guide_Linux.1.04.html" + - /epas/12/epas_upgrade_guide/01_supported_platforms --- EDB Postgres Advanced Server v12 installers support 64 bit Linux and Windows server platforms. The Advanced Server 12 RPM packages are supported on the following 64-bit Linux platforms: @@ -26,6 +24,11 @@ Graphical installers are supported on the following 64-bit Windows platforms: - Windows Server 2016 - Windows Server 2012 R2 Server -See [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility) - for additional information about supported platforms. +See [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility) for additional information about supported platforms. +**Limitations** + +The following limitations apply to EDB Postgres Advanced Server: + +- The `data` directory of a production database should not be stored on an NFS file system. +- The LLVM JIT package is supported on RHEL or CentOS 7.x, 8.x, and SLES. LLVM JIT is not supported on PPC-LE 64 running RHEL or CentOS 7.x or 8.x. diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx similarity index 90% rename from product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx rename to product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx index c1842dd4821..0c1eb90f9d7 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/11_epas12.5.6_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx @@ -6,6 +6,7 @@ EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | +| Upstream Merge | Merged with community PostgreSQL 12.5. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-5.html) for details. | | | | Bug Fix | As `ROWIDs` are generated by the system internally, values for the `rowid` column are not dumped. Thus we should not dump the `rowid` sequence state using `setval()` too. Otherwise, it gives an error with data-only dump-restore. So skip dumping `ROWID` sequence state. [Support Ticket: #1095864] | DB-812 | | | Bug Fix | Fixed crash with `COPY FROM` and/or foreign partition routing operations performed on `libpq_dblink` and `oci_dblink` FDW table. |DB‑804 | | | Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. [Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx similarity index 89% rename from product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx rename to product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx index 9c8cb22b552..ff815d2ff04 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/13_epas12.4.5_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx @@ -6,6 +6,7 @@ EDB Postgres Advanced Server 12.4.5 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | +| Upstream Merge | Merged with community PostgreSQL 12.4. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-4.html) for details. | | | | Bug Fix | In case of error coming from standard_planner global pointer is not getting clean up and end up with server crash. Commit fix dangling pointer de-reference for global index candidates [Support Ticket: #1026986] | DB‑682 | | | Bug Fix | Fix minor problems with non-exclusive backup cleanup [Support Ticket: #1009383] | DB-597 | | | Bug Fix | Fix to follow the same order to compute the hash values of partition key in which it's defined [Support Ticket: #1010975] | DB-537 | edb_enable_pruning | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx similarity index 83% rename from product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx rename to product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx index 0eada0cb220..90cdf267cf7 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/15_epas12.3.4_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx @@ -6,6 +6,7 @@ EDB Postgres Advanced Server 12.3.4 includes the following bug fixes: | Type | Description | ID | | ---- | ---------------- | -- | +| Upstream Merge | Merged with community PostgreSQL 12.53. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-3.html) for details. | | | | Bug Fix | Fix `dblink_ora_copy()` when copying to EPAS table having `ROWID`. [Support Ticket: #964115] | DB-435 | | | Bug Fix | Ignore `TOAST` for partitioned tables. [Support Ticket: #983824] | DB-409 | pg_upgrade | | Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable | scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx similarity index 88% rename from product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx rename to product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx index 0c7e8e6865b..32cf1a82ca0 100644 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/17_epas12.2.3_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx @@ -6,6 +6,7 @@ EDB Postgres Advanced Server 12.2.3 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | +| Upstream Merge | Merged with community PostgreSQL 12.2. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-2.html) for details. | | | | Bug Fix | Suppressed error detail when password expiration is set to infinity while using password profiles. | RM44176 | | | Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB-228 | | | Bug Fix | Disabled partition pruning while fetching a cursor rowtype. [Support Ticket: #950257] | RM44174 | | diff --git a/product_docs/docs/epas/12/epas_upgrade_guide/01_supported_platforms.mdx b/product_docs/docs/epas/12/epas_upgrade_guide/01_supported_platforms.mdx deleted file mode 100644 index 9c6c207daf7..00000000000 --- a/product_docs/docs/epas/12/epas_upgrade_guide/01_supported_platforms.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Supported Platforms" - -legacyRedirectsGenerated: - # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/upgrade-guide/12/EDB_Postgres_Advanced_Server_Upgrade_Guide.1.05.html" ---- - - - -For information about the platforms and versions supported by Advanced Server, see [Platform Compatibility](https://www.enterprisedb.com/platform-compatibility#epas) - - -!!!Note - Advanced Server is no longer supported on RHEL/CentOS/OL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. \ No newline at end of file diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png deleted file mode 100644 index f4a93cf57f5..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:07423b012a855204780fe5a2a5a1e33607304a5c3020ae4acbf3d575691dedd6 -size 12136 diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg b/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg deleted file mode 100644 index f24d1dfefee..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/images/edb_logo.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - edb-logo-disc-dark - - - - \ No newline at end of file diff --git a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx b/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx deleted file mode 100644 index 4afeab84685..00000000000 --- a/product_docs/docs/epas/13/epas_rel_notes_v12/index.mdx +++ /dev/null @@ -1,22 +0,0 @@ ---- -navTitle: Release Notes -title: "EDB Postgres Advanced Server Release Notes" - -legacyRedirectsGenerated: -# This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/13/index.html" ---- - -EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. - -The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. - -| Version | Release Date | Upstream Merges | -| ------- | ------------ | --------------- | -| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | -| [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | -| [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | -| [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | - - - From ee610114d4e93519e56048c73471eef52e06ddd8 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 10:36:14 -0500 Subject: [PATCH 09/30] Primarily edits to main v12 product description --- .../11_epas12.5.6_rel_notes.mdx | 2 +- .../13_epas12.4.5_rel_notes.mdx | 22 +- .../15_epas12.3.4_rel_notes.mdx | 4 +- .../12/epas_rel_notes/19_epas12_rel_notes.mdx | 190 ++++++- .../docs/epas/12/epas_rel_notes/index.mdx | 502 ------------------ 5 files changed, 188 insertions(+), 532 deletions(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx index 0c1eb90f9d7..0a3e5dd0c25 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/11_epas12.5.6_rel_notes.mdx @@ -11,7 +11,7 @@ EDB Postgres Advanced Server 12.5.6 includes the following bug fixes: | Bug Fix | Fixed crash with `COPY FROM` and/or foreign partition routing operations performed on `libpq_dblink` and `oci_dblink` FDW table. |DB‑804 | | | Bug Fix | Don't emit useless messages about GSS or SSL negotiation failures. [Support Tickets: #1048322, #1048143, #1018659] | DB-770 | | | Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1073281] | DB-769 | | -| Bug Fix | We create this system column for all the foreign tables. However, only `oci_dblink` and `libpq_dblink` FDWs use it and the code, assumes that this column is used with these two FDWs only. That is incorrect. This commit fixes the assertion failure when system column `__remote_rowid_` is selected. | DB-749 | | +| Bug Fix | We create this system column for all the foreign tables. However, only `oci_dblink` and `libpq_dblink` FDWs use it and the code assumes that this column is used with these two FDWs only. That is incorrect. This commit fixes the assertion failure when system column `__remote_rowid_` is selected. | DB-749 | | | Bug Fix | Fixed handling of multi-character record separators in edbldr. [Support Ticket: #1051362] | DB-743 | | | Bug Fix | Skip sending the `ROWID` to the subscriber. [Support Ticket: #1055674] | DB-734 | | | Bug Fix | Fixed server crash during split partition when using `edb_partition`. | DB-705 | | diff --git a/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx index ff815d2ff04..5e9aaefff06 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/13_epas12.4.5_rel_notes.mdx @@ -7,15 +7,15 @@ EDB Postgres Advanced Server 12.4.5 includes the following bug fixes: | Type | Description | ID | Category | | ---- | ---------------- | -- | -------- | | Upstream Merge | Merged with community PostgreSQL 12.4. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-4.html) for details. | | | -| Bug Fix | In case of error coming from standard_planner global pointer is not getting clean up and end up with server crash. Commit fix dangling pointer de-reference for global index candidates [Support Ticket: #1026986] | DB‑682 | | -| Bug Fix | Fix minor problems with non-exclusive backup cleanup [Support Ticket: #1009383] | DB-597 | | -| Bug Fix | Fix to follow the same order to compute the hash values of partition key in which it's defined [Support Ticket: #1010975] | DB-537 | edb_enable_pruning | -| Bug Fix | Make the scope of an autonomous transaction include the exception block [Support Ticket: #977822] | DB-371 | | -| Bug Fix | Throw a proper error when ROWID used with partition table |DB-406 | | -| Bug Fix | Adjust Makefile to use CXXFLAGS with HP-UX C compiler | DB-648 | | -| Bug Fix | Fix FF mode in Redwood to_char() datetime related functions | DB-640 | | +| Bug Fix | In the case of an error coming from `standard_planner`, global pointer is not getting cleaned up and results in a server crash. Commit fix dangling pointer de-reference for global index candidates. [Support Ticket: #1026986] | DB‑682 | | +| Bug Fix | Fix minor problems with non-exclusive backup cleanup. [Support Ticket: #1009383] | DB-597 | | +| Bug Fix | Fix to follow the same order to compute the hash values of partition key in which it's defined. [Support Ticket: #1010975] | DB-537 | edb_enable_pruning | +| Bug Fix | Make the scope of an autonomous transaction include the exception block. [Support Ticket: #977822] | DB-371 | | +| Bug Fix | Throw a proper error when `ROWID` is used with partition table. |DB-406 | | +| Bug Fix | Adjust `Makefile` to use `CXXFLAGS` with HP-UX C compiler.| DB-648 | | +| Bug Fix | Fix FF mode in Redwood `to_char()` datetime related functions | DB-640 | | | Bug Fix | Protect (timestamp + number) and (timestamp - number) against overflow. | DB-639 | | -| Bug Fix | Disallow using NULLIF as SQL expression evaluation is not supported in the direct load | DB-477 | edbldr| -| Bug Fix | Don't try to prune a relation falling on the nullable side of a join for HASH partition when edb_enable_pruning is True | DB-154 | edb_partition | -| Bug Fix | Fix assorted issues where ZONED data input length is less than the precision | DB-301 | edbldr | -| Bug Fix | Failed to load data for partition table having foreign key" | DB-438 | edbldr | \ No newline at end of file +| Bug Fix | Disallow using `NULLIF` as SQL expression evaluation is not supported in the direct load. | DB-477 | edbldr| +| Bug Fix | Don't try to prune a relation falling on the nullable side of a join for HASH partition when `edb_enable_pruning` is True. | DB-154 | edb_partition | +| Bug Fix | Fix assorted issues where ZONED data input length is less than the precision. | DB-301 | edbldr | +| Bug Fix | Failed to load data for partition table having a foreign key. | DB-438 | edbldr | \ No newline at end of file diff --git a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx index 90cdf267cf7..352a5dfca08 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx @@ -6,10 +6,10 @@ EDB Postgres Advanced Server 12.3.4 includes the following bug fixes: | Type | Description | ID | | ---- | ---------------- | -- | -| Upstream Merge | Merged with community PostgreSQL 12.53. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-3.html) for details. | | | +| Upstream Merge | Merged with community PostgreSQL 12.5.3. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-3.html) for details. | | | | Bug Fix | Fix `dblink_ora_copy()` when copying to EPAS table having `ROWID`. [Support Ticket: #964115] | DB-435 | | | Bug Fix | Ignore `TOAST` for partitioned tables. [Support Ticket: #983824] | DB-409 | pg_upgrade | | Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable | scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | | Bug Fix | Fix server crash when an empty input string is passed to `to_timestamp`. [Support Ticket: #981139] | DB-362 | | | Bug Fix | Fix potential incorrect result or crash by switching to the right memory context. | DB-319 | Median | -| Bug Fix | Do not push `ROWNUM` to the child scan/join targets paths and disable partition-wise aggregate when query has ROWNUM. | DB-187 | | +| Bug Fix | Do not push `ROWNUM` to the child scan/join targets paths and disable partition-wise aggregate when query has `ROWNUM`. | DB-187 | | diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx index dbcc4588d85..80482524255 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx @@ -7,22 +7,180 @@ redirects: New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 12 include: -| Type | Description | -| ----------- | ---------------- | -| Feature | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | -| Feature | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | -| Feature | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | -| Feature | Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. | -| Feature | Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` is an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. | -| Feature | Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. | -| Feature | The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. | -| Feature | The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time and interval types and much like other aggregate functions, it can be used with window function as well. | -| Feature | In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. | -| Feature | Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. | -| Feature | Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). | -| Feature | Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. | -| Feature | Advanced Server now offers a new that provides information that is compatible with the Oracle data dictionary views: `{USER|ALL|DBA}_TAB_PRIVS`, `{USER|ALL|DBA}_COL_PRIVS`, and `{USER|ALL|DBA}_TAB_DEPENDENCIES`.| - +| Type | Category | Description | +| ----------- | -------------- | ---------------- | +| Feature | | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | +| Feature | | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | +| Feature | | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | +| Feature | | Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. | +| Feature | | Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` is an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. | +| Feature | | Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. | +| Feature | | The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. | +| Feature | | The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time and interval types and much like other aggregate functions, it can be used with window function as well. | +| Feature | | In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. | +| Feature | | Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. | +| Feature | | Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). | +| Feature | | Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. | +| Feature | | Advanced Server now offers a new that provides information that is compatible with the Oracle data dictionary views: `{USER|ALL|DBA}_TAB_PRIVS`, `{USER|ALL|DBA}_COL_PRIVS`, and `{USER|ALL|DBA}_TAB_DEPENDENCIES`.| +| Update | Partitioning | Improve performance of many operations on partitioned tables. | +| Update | Partitioning | Allow tables with thousands of child partitions to be processed efficiently by operations that only affect a small number of partitions. | +| Update | Partitioning | Allow foreign keys to reference partitioned tables. | +| Update | Partitioning | Improve speed of `COPY` into partitioned tables. | +| Update | Partitioning | Allow partition bounds to be any expression. Such expressions are evaluated at partitioned-table creation time. Previously, only simple constants were allowed as partition bounds. | +| Update | Partitioning | Allow `CREATE TABLE's` tablespace specification for a partitioned table to affect the tablespace of its children. | +| Update | Partitioning | Avoid sorting when partitions are already being scanned in the necessary order. | +| Update | Partitioning | `ALTER TABLE ATTACH PARTITION` is now performed with reduced locking requirements. | +| Update | Partitioning | Add partition introspection functions. | +| Update | Partitioning | The new function `pg_partition_root()` returns the top-most parent of a partition tree, `pg_partition_ancestors()` reports all ancestors of a partition, and `pg_partition_tree()` displays information about partitions. | +| Update | Partitioning | Include partitioned indexes in the system view `pg_indexes`. | +| Update | Partitioning | Add psql command `\dP` to list of partitioned tables and indexes. | +| Update | Partitioning | Improve psql `\d` and `\z` display of partitioned tables. | +| Update | Partitioning | Fix bugs that could cause `ALTER TABLE DETACH PARTITION` to leave behind incorrect dependency state, allowing subsequent operations to misbehave, such as not dropping a former partition child index when its table is dropped. | +| Update | Indexes | Improve performance and space utilization of B-tree indexes with many duplicates. | +| Update | Indexes | Duplicate index entries are now sorted in heap-storage order. Previously, duplicate index entries were stored unordered within their duplicate groups. This caused overhead during index inserts, wasted space due to excessive page splits, and it reduced `VACUUM's` ability to recycle entire pages. | +| Update | Indexes | Indexes `pg_upgrade'd` from previous releases will not have these benefits. | +| Update | Indexes | Allow multi-column B-tree indexes to be smaller. | +| Update | Indexes | Internal pages and min/max leaf page indicators now only store index keys until the change key, rather than all indexed keys. This also improves the locality of index access. | +| Update | Indexes | Improve speed of B-tree index insertions by reducing locking overhead. | +| Update | Indexes | Support `INCLUDE` columns in `GiST` indexes. | +| Update | Indexes | Add support for nearest-neighbor `(KNN)` searches of `SP-GiST` indexes. | +| Update | Indexes | Reduce the WAL write overhead of `GiST`, `GIN`, and `SP-GiST` index creation. | +| Update | Indexes | Allow index-only scans to be more efficient on indexes with many columns. | +| Update | Indexes | Improve the performance of vacuum scans of `GiST` indexes. | +| Update | Indexes | Delete empty leaf pages during `GiST VACUUM`. | +| Update | Indexes | Reduce locking requirements for index renaming. | +| Update | Optimizer | Allow `CREATE STATISTICS` to create most-common-value statistics for multiple columns. This improves optimization for queries that test several columns, requiring an estimate of the combined effect of several `WHERE` clauses. If the columns are correlated and have non-uniform distributions then multi-column statistics will allow much better estimates.| +| Update | Optimizer | Allow common table expressions (CTEs) to be inlined into the outer query. Specifically, CTEs are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying `MATERIALIZED`, or forced for multiply-referenced CTEs by specifying `NOT MATERIALIZED`. Previously, CTEs were never inlined and were always evaluated before the rest of the query. | +| Update | Optimizer | Allow control over when generic plans are used for prepared statements. This is controlled by the `plan_cache_mode` server parameter. | +| Update | Optimizer | Improve optimization of partition and `UNION ALL` queries that have only a single child. | +| Update | Optimizer | Improve processing of domains that have no check constraints. | +| Update | Optimizer | Domains that are being used purely as type aliases no longer cause optimization difficulties. | +| Update | Optimizer | Pre-evaluate calls of `LEAST` and `GREATEST` when their arguments are constants. | +| Update | Optimizer | Improve optimizer's ability to verify that partial indexes with IS `NOT NULL` conditions are usable in queries. | +| Update | Optimizer | Usability can now be recognized in more cases where the calling query involves casts or large `x IN (array)` clauses. | +| Update | Optimizer | Compute `ANALYZE` statistics using the collation defined for each column. Previously, the database's default collation was used for all statistics. This potentially gives better optimizer behavior for columns with non-default collations. | +| Update | Optimizer | Improve selectivity estimates for inequality comparisons on `ctid` columns. | +| Update | Optimizer | Improve optimization of joins on columns of type `tid`. These changes primarily improve the efficiency of self-joins on `ctid` columns.| +| Update | Optimizer | Fix the leakproofness designations of some btree comparison operators and support functions. This allows some optimizations that previously would not have been applied in the presence of security barrier views or row-level security. | +| Update | Performance | Enable Just-in-Time (JIT) compilation by default, if the server has been built with support for it. Note that this support is not built by default, but has to be selected explicitly while configuring the build. | +| Update | Performance | Speed up keyword lookup. | +| Update | Performance | Improve search performance for multi-byte characters in `position()` and related functions. | +| Update | Performance | Allow toasted values to be minimally decompressed. This is useful for routines that only need to examine the initial portion of a toasted field. | +| Update | Performance | Allow `ALTER TABLE ... SET NOT NULL` to avoid unnecessary table scans. This can be optimized when the table's column constraints can be recognized as disallowing nulls. | +| Update | Performance | Allow `ALTER TABLE ... SET DATA TYPE` changing between timestamp and timestamptz to avoid a table rewrite when the session time zone is UTC. In the UTC time zone, these two data types are binary compatible. | +| Update | Performance | Improve speed in converting strings to `int2` or `int4` integers. | +| Update | Performance | Allow parallelized queries when in `SERIALIZABLE` isolation mode. Previously, parallelism was disabled when in this mode. | +| Update | Performance | Use `pread()` and `pwrite()` for random I/O. This reduces the number of system calls required for I/O. | +| Update | Performance | Improve the speed of setting the process title on FreeBSD. | +| Update | Monitoring | Allow logging of statements from only a percentage of transactions. The parameter `log_transaction_sample_rate` controls this. | +| Update | Monitoring | Add progress reporting to `CREATE INDEX` and `REINDEX` operations. Progress is reported in the `pg_stat_progress_create_index` system view. | +| Update | Monitoring | Add progress reporting to `CLUSTER` and `VACUUM FULL`. Progress is reported in the `pg_stat_progress_cluster` system view. + | +| Update | Monitoring | Add progress reporting to `pg_checksums`. This is enabled with the option `--progress`. | +| Update | Monitoring | Add counter of checksum failures to `pg_stat_database`. | +| Update | Monitoring | Add tracking of global objects in system view `pg_stat_database`. Global objects are shown with a `pg_stat_database.datid` value of zero. | +| Update | Monitoring | Add the ability to list the contents of the archive directory. The function is `pg_ls_archive_statusdir()`. | +| Update | Monitoring | Add the ability to list the contents of temporary directories. The function, `pg_ls_tmpdir()`, optionally allows specification of a tablespace. | +| Update | Monitoring | Add information about the client certificate to the system view `pg_stat_ssl`. The new columns are `client_serial` and `issuer_dn`. Column `clientdn` has been renamed to `client_dn` for clarity. | +| Update | Monitoring | Restrict visibility of rows in `pg_stat_ssl` for unprivileged users. | +| Update | Monitoring | At server start, emit a log message including the server version number. | +| Update | Monitoring | Prevent logging "incomplete startup packet" if a new connection is immediately closed. This avoids log spam from certain forms of monitoring. | +| Update | Monitoring | Include the `application_name`, if set, in `log_connections` log messages. | +| Update | Monitoring | Make the walreceiver set its application name to the cluster name, if set. | +| Update | Monitoring | Add the timestamp of the last received standby message to `pg_stat_replication`. | +| Update | Monitoring | Add a wait event for `fsync` of WAL segments. | +| Feature | Authentication | Add GSSAPI encryption support. This feature allows TCP/IP connections to be encrypted when using GSSAPI authentication, without having to set up a separate encryption facility such as SSL. In support of this, add `hostgssenc` and `hostnogssenc` record types in `pg_hba.conf` for selecting connections that do or do not use GSSAPI encryption, corresponding to the existing `hostssl` and `hostnossl` record types. There is also a new `gssencmode` libpq option and a `pg_stat_gssapi` system view. | +| Feature | Authentication | Allow the clientcert `pg_hba.conf` option to check that the database user name matches the client certificate's common name. This new check is enabled with `clientcert=verify-full`. | +| Feature | Authentication | Allow discovery of an LDAP server using DNS SRV records. This avoids the requirement of specifying ldapserver. It is only supported if PostgreSQL is compiled with OpenLDAP. | +| Feature | Server Configuration | Add ability to enable/disable cluster checksums using `pg_checksums`. The cluster must be shut down for these operations. | +| Feature | Server Configuration | Reduce the default value of `autovacuum_vacuum_cost_delay` to 2ms. This allows autovacuum operations to proceed faster by default. | +| Feature | Server Configuration | Allow `vacuum_cost_delay` to specify sub-millisecond delays, by accepting fractional values. | +| Feature | Server Configuration | Allow time-based server parameters to use units of microseconds (us). | +| Feature | Server Configuration | Allow fractional input for integer server parameters. For example, `SET work_mem = '30.1GB'` is now allowed, even though `work_mem` is an integer parameter. The value will be rounded to an integer after any required units conversion. | +| Feature | Server Configuration | Allow units to be defined for floating-point server parameters. | +| Feature | Server Configuration | Add `wal_recycle` and `wal_init_zero` server parameters to control WAL file recycling. Avoiding file recycling can be beneficial on copy-on-write file systems like ZFS. | +| Feature | Server Configuration | Add server parameter `tcp_user_timeout` to control the server's TCP timeout. | +| Feature | Server Configuration | Allow control of the minimum and maximum SSL protocol versions. The server parameters are `ssl_min_protocol_version` and `ssl_max_protocol_version`. | +| Feature | Server Configuration | Add server parameter `ssl_library` to report the SSL library version used by the server. | +| Feature | Server Configuration | Add server parameter `shared_memory_type` to control the type of shared memory to use. This allows selection of System V shared memory, if desired. | +| Feature | Streaming Replication and Recovery | Allow some recovery parameters to be changed with reload. These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. | +| Feature | Streaming Replication and Recovery | Allow some recovery parameters to be changed with reload. These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. | +| Feature | Streaming Replication and Recovery | Allow the streaming replication timeout `(wal_sender_timeout)` to be set per connection. Previously, this could only be set cluster-wide. | +| Feature | Streaming Replication and Recovery | Add function `pg_promote()` to promote standbys to primaries. Previously, this operation was only possible by using `pg_ctl` or creating a trigger file. | +| Feature | Streaming Replication and Recovery | Allow replication slots to be copied. The functions for this are `pg_copy_physical_replication_slot()` and `pg_copy_logical_replication_slot()`. | +| Feature | Streaming Replication and Recovery | Make `max_wal_senders` not count as part of `max_connections`. | +| Feature | Streaming Replication and Recovery | Add an explicit value of current for `recovery_target_timeline`. | +| Feature | Utility Commands | Add `REINDEX CONCURRENTLY` option to allow reindexing without locking out writes. This is also controlled by the reindexdb application's `--concurrently` option. | +| Feature | Utility Commands | Add support for generated columns. The content of generated columns are computed from expressions (including references to other columns in the same table) rather than being specified by `INSERT` or `UPDATE` commands. | +| Feature | Utility Commands | Add a `WHERE` clause to `COPY FROM` to control which rows are accepted. This provides a simple way to filter incoming data. | +| Feature | Utility Commands | Allow enumerated values to be added more flexibly. Previously, `ALTER TYPE ... ADD VALUE` could not be called in a transaction block, unless it was part of the same transaction that created the enumerated type. Now it can be called in a later transaction, so long as the new enumerated value is not referenced until after it is committed. | +| Feature | Utility Commands | Add commands to end a transaction and start a new one. The commands are `COMMIT AND CHAIN` and `ROLLBACK AND CHAIN`. | +| Feature | Utility Commands | Add `VACUUM` and `CREATE TABLE` options to prevent `VACUUM` from truncating trailing empty pages. These options are `vacuum_truncate` and `toast.vacuum_truncate`. Use of these options reduces `VACUUM's` locking requirements, but prevents returning disk space to the operating system. | +| Feature | Utility Commands | Allow `VACUUM` to skip index cleanup. This change adds a `VACUUM` command option `INDEX_CLEANUP` as well as a table storage option `vacuum_index_cleanup`. Use of this option reduces the ability to reclaim space and can lead to index bloat, but it is helpful when the main goal is to freeze old tuples. | +| Feature | Utility Commands | Add the ability to skip `VACUUM` and `ANALYZE` operations on tables that cannot be locked immediately. This option is called `SKIP_LOCKED`. | +| Feature | Utility Commands | Allow `VACUUM` and `ANALYZE` to take optional Boolean argument specifications. | +| Feature | Utility Commands | Prevent `TRUNCATE`, `VACUUM`, and `ANALYZE` from requesting a lock on tables for which the user lacks permission. This prevents unauthorized locking, which could interfere with user queries. | +| Feature | Utility Commands | Add `EXPLAIN` option `SETTINGS` to output non-default optimizer settings. This output can also be obtained when using `auto_explain` by setting `auto_explain.log_settings`. | +| Feature | Utility Commands | Add `OR REPLACE` option to `CREATE AGGREGATE`. Allow modifications of system catalogs' options using `ALTER TABLE`. | +| Feature | Utility Commands | Modifications of catalogs' reloptions and autovacuum settings are now supported. (Setting `allow_system_table_mods` is still required.) | +| Feature | Utility Commands | Use all key columns' names when selecting default constraint names for foreign keys. Previously, only the first column name was included in the constraint name, resulting in ambiguity for multi-column foreign keys. | +| Update | Data Types | Update assorted knowledge about Unicode to match Unicode 12.1.0. This fixes, for example, cases where psql would misformat output involving combining characters. | +| Update | Data Types | Update Snowball stemmer dictionaries with support for new languages. This adds word stemming support for Arabic, Indonesian, Irish, Lithuanian, Nepali, and Tamil to full text search. | +| Update | Data Types | Allow creation of collations that report string equality for strings that are not bitwise equal. This feature supports "nondeterministic" collations that can define case- and accent-agnostic equality comparisons. Thus, for example, a case-insensitive uniqueness constraint on a text column can be made more easily than before. This is only supported for ICU collations. | +| Update | Data Types | Add support for ICU collation attributes on older ICU versions. This allows customization of the collation rules in a consistent way across all ICU versions. | +| Update | Data Types | Allow data type name to more seamlessly be compared to other text types. Type name now behaves much like a domain over type text that has default collation "C". This allows cross-type comparisons to be processed more efficiently. | +| Feature | Functions | Add support for the SQL/JSON path language. This allows execution of complex queries on JSON values using an SQL-standard language. | +| Feature | Functions | Add support for hyperbolic functions. Also add `log10()` as an alias for `log()`, for standards compliance. | +| Feature | Functions | Improve the accuracy of statistical aggregates like variance() by using more precise algorithms. | +| Feature | Functions | Allow `date_trunc()` to have an additional argument to control the time zone. This is faster and simpler than using the `AT TIME ZONE` clause. | +| Bug Fix | XML Functions | In `XMLTABLE`, `xpath()`, and `xmlexists()`, fix some cases where nothing was output for a node, or an unexpected error was thrown, or necessary escaping of XML special characters was omitted. | +| Bug Fix | XML Functions | Allow the `BY VALUE` clause in `XMLEXISTS` and `XMLTABLE`. This SQL-standard clause has no effect in PostgreSQL's implementation, but it was unnecessarily being rejected. | +| Bug Fix | XML Functions | Prevent `current_schema()` and `current_schemas()` from being run by parallel workers, as they are not parallel-safe. | +| Bug Fix | XML Functions | Allow `RECORD` and `RECORD[]` to be used as column types in a query's column definition list for a table function that is declared to return `RECORD`. | +| Bug Fix | XML Functions | Prevent `current_schema()` and `current_schemas()` from being run by parallel workers, as they are not parallel-safe. | +| Feature | PL/PgSQL | Allow SQL commands and variables with the same names as those commands to be used in the same PL/pgSQL function. For example, allow a variable called comment to exist in a function that calls the `COMMENT SQL` command. Previously this combination caused a parse error. | +| Feature | PL/PgSQL | Add new optional warning and error checks to PL/pgSQL. The new checks allow for run-time validation of `INTO` column counts and single-row results. | +| Feature | Client Interfaces | Add connection parameter `tcp_user_timeout` to control libpq's TCP timeout. | +| Feature | Client Interfaces | Allow libpq (and thus psql) to report only the SQLSTATE value in error messages. | +| Feature | Client Interfaces | Add libpq function `PQresultMemorySize()` to report the memory used by a query result. | +| Feature | Client Interfaces | Remove the no-display/debug flag from libpq's options connection parameter. This allows this parameter to be set by `postgres_fdw`. | +| Feature | Client Interfaces | Allow ecpg to create variables of data type bytea. This allows ECPG clients to interact with bytea data directly, rather than using an encoded form. | +| Feature | Client Interfaces | Add `PREPARE AS` support to ECPG. | +| Feature | Client Applications | Allow vacuumdb to select tables for vacuum based on their wraparound horizon. The options are `--min-xid-age` and `--min-mxid-age`. | +| Feature | Client Applications | Allow vacuumdb to disable waiting for locks or skipping all-visible pages. The options are `--skip-locked` and `--disable-page-skipping`. | +| Feature | Client Applications | Add colorization to the output of command-line utilities. This is enabled by setting the environment variable `PG_COLOR` to always or auto. The specific colors used can be adjusted by setting the environment variable `PG_COLORS`, using ANSI escape codes for colors. For example, the default behavior is equivalent to `PG_COLORS="error=01;31:warning=01;35:locus=01"`. | +| Feature | psql | Add CSV table output mode in psql. This is controlled by `\pset` format csv or the command-line `--csv` option. | +| Feature | psql | Show the manual page URL in psql's `\help` output for a SQL command. | +| Feature | psql | Display the IP address in psql's `\conninfo` (Fabien Coelho). | +| Feature | psql | Improve tab completion of `CREATE TABLE`, `CREATE TRIGGER`, `CREATE EVENT TRIGGER`, `ANALYZE`, `EXPLAIN`, `VACUUM`, `ALTER TABLE`, `ALTER INDEX`, `ALTER DATABASE`, and `ALTER INDEX ALTER COLUMN`. | +| Feature | pgbench | Allow values produced by queries to be assigned to pgbench variables. The command for this is `\gset`. | +| Feature | pgbench | Improve precision of pgbench's `--rate` option. | +| Feature | pgbench | Improve pgbench's error reporting with clearer messages and return codes. | +| Feature | Server Applications | Allow control of log file rotation via `pg_ctl`. Previously, this was only possible via an SQL function or a process signal. | +| Feature | Server Applications | Properly detach the new server process during `pg_ctl` start. This prevents the server from being shut down if the shell script that invoked `pg_ctl` is interrupted later. | +| Feature | Server Applications | Allow `pg_upgrade` to use the file system's cloning feature, if there is one. The `--clone` option has the advantages of `--link`, while preventing the old cluster from being changed after the new cluster has started. | +| Feature | Server Applications | Allow specification of the socket directory to use in `pg_upgrade`. This is controlled by `--socketdir`; the default is the current directory. | +| Feature | Server Applications | Allow `pg_checksums` to disable `fsync` operations. This is controlled by the `--no-sync` option. | +| Feature | Server Applications | Allow `pg_rewind` to disable `fsync` operations. | +| Feature | Server Applications | Fix `pg_test_fsync` to report accurate `open_datasync` durations on Windows. | +| Feature | pg_dump, pg_dumpall, pg_restore | When `pg_dump` emits data with `INSERT` commands rather than `COPY`, allow more than one data row to be included in each `INSERT`. The option controlling this is `--rows-per-insert`. | +| Feature | pg_dump, pg_dumpall, pg_restore | Allow `pg_dump` to emit `INSERT ... ON CONFLICT DO NOTHING`. This avoids conflict failures during restore. The option is `--on-conflict-do-nothing`. | +| Feature | pg_dump, pg_dumpall, pg_restore | Decouple the order of operations in a parallel `pg_dump` from the order used by a subsequent parallel `pg_restore`. This allows `pg_restore` to perform more-fully-parallelized parallel restores, especially in cases where the original dump was not done in parallel. Scheduling of a parallel `pg_dump` is also somewhat improved. | +| Feature | pg_dump, pg_dumpall, pg_restore | Allow the `extra_float_digits` setting to be specified for `pg_dump` and `pg_dumpall`. This is primarily useful for making dumps that are exactly comparable across different source server versions. It is not recommended for normal use, as it may result in loss of precision when the dump is restored. | +| Feature | pg_dump, pg_dumpall, pg_restore | Add `--exclude-database` option to `pg_dumpall`. | +| Feature | Source Code | Add `CREATE ACCESS METHOD` command to create new table types. This enables the development of new table access methods, which can optimize storage for different use cases. The existing heap access method remains the default. | +| Feature | Source Code | Add planner support function interfaces to improve optimizer estimates, inlining, and indexing for functions. This allows extensions to create planner support functions that can provide function-specific selectivity, cost, and row-count estimates that can depend on the function's arguments. Support functions can also supply simplified representations and index conditions, greatly expanding optimization possibilities. | +| Feature | Source Code | Simplify renumbering manually-assigned `OIDs`, and establish a new project policy for management of such `OIDs`. Patches that manually assign `OIDs` for new built-in objects (such as new functions) should now randomly choose `OIDs` in the range 8000—9999. At the end of a development cycle, the OIDs used by committed patches will be renumbered down to lower numbers, currently somewhere in the 4xxx range, using the new `renumber_oids.pl` script. This approach should greatly reduce the odds of `OID` collisions between different in-process patches. While there is no specific policy reserving any `OIDs` for external use, it is recommended that forks and other projects needing private manually-assigned `OIDs` use numbers in the high 7xxx range. This will avoid conflicts with recently-merged patches, and it should be a long time before the core project reaches that range. | +| Feature | Source Code | Build Cygwin binaries using dynamic instead of static libraries. | +| Feature | Source Code | Remove configure switch `--disable-strong-random`. | +| Feature | Source Code | A strong random-number source is now required. | +| Feature | Source Code | printf-family functions, as well as `strerror` and `strerror_r`, now behave uniformly across platforms within Postgres code. Notably, `printf` understands `%m` everywhere; on Windows, `strerror` copes with Winsock error codes (it used to do so in backend but not frontend code); and `strerror_r` always follows the GNU return convention. | +| Feature | Source Code | Require a C99-compliant compiler, and MSVC 2013 or later on Windows. | +| Feature | Source Code | Use pandoc, not lynx, for generating plain-text documentation output files. This affects only the `INSTALL file` generated during make dist and the seldom-used plain-text `postgres.txt` output file. Pandoc produces better output than lynx and avoids some locale/encoding issues. Pandoc version 1.13 or later is required. | +| Feature | Source Code | Support use of images in the PostgreSQL documentation. | +| Feature | Additional Modules | Allow `ORDER BY` sorts and `LIMIT` clauses to be pushed to `postgres_fdw` foreign servers in more cases. | +| Feature | Additional Modules | Improve optimizer cost accounting for `postgres_fdw` queries. | +| Feature | Additional Modules | Properly honor `WITH CHECK OPTION` on views that reference `postgres_fdw` tables. While `CHECK OPTIONs` on `postgres_fdw` tables are ignored (because the reference is foreign), views on such tables are considered local, so this change enforces `CHECK OPTIONs` on them. | ## Component Certification diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index 113011335ff..cd10cfea569 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -100,529 +100,27 @@ Advanced Server 12 integrates all of the community PostgreSQL 12 features. To re The following updates are available in PostgreSQL 12: -### Partitioning Updates -Improve performance of many operations on partitioned tables. -Allow tables with thousands of child partitions to be processed efficiently by operations that only affect a small number of partitions. -Allow foreign keys to reference partitioned tables. -Improve speed of `COPY` into partitioned tables. -Allow partition bounds to be any expression. -Such expressions are evaluated at partitioned-table creation time. Previously, only simple constants were allowed as partition bounds. -Allow `CREATE TABLE's` tablespace specification for a partitioned table to affect the tablespace of its children. -Avoid sorting when partitions are already being scanned in the necessary order. -`ALTER TABLE ATTACH PARTITION` is now performed with reduced locking requirements. -Add partition introspection functions. -The new function `pg_partition_root()` returns the top-most parent of a partition tree, `pg_partition_ancestors()` reports all ancestors of a partition, and `pg_partition_tree()` displays information about partitions. -Include partitioned indexes in the system view `pg_indexes`. -Add psql command `\dP` to list partitioned tables and indexes. -Improve psql `\d` and `\z` display of partitioned tables. -Fix bugs that could cause `ALTER TABLE DETACH PARTITION` to leave behind incorrect dependency state, allowing subsequent operations to misbehave, for example by not dropping a former partition child index when its table is dropped. -### Indexes -Improve performance and space utilization of btree indexes with many duplicates. -Previously, duplicate index entries were stored unordered within their duplicate groups. This caused overhead during index inserts, wasted space due to excessive page splits, and it reduced `VACUUM's` ability to recycle entire pages. Duplicate index entries are now sorted in heap-storage order. -Indexes `pg_upgrade'd` from previous releases will not have these benefits. -Allow multi-column btree indexes to be smaller. -Internal pages and min/max leaf page indicators now only store index keys until the change key, rather than all indexed keys. This also improves the locality of index access. - -Improve speed of btree index insertions by reducing locking overhead. - -Support `INCLUDE` columns in `GiST` indexes. - -Add support for nearest-neighbor `(KNN)` searches of `SP-GiST` indexes. - -Reduce the WAL write overhead of `GiST`, `GIN`, and `SP-GiST` index creation. - -Allow index-only scans to be more efficient on indexes with many columns. - -Improve the performance of vacuum scans of `GiST` indexes. - -Delete empty leaf pages during `GiST VACUUM`. - -Reduce locking requirements for index renaming. - -### Optimizer - -Allow `CREATE STATISTICS` to create most-common-value statistics for multiple columns. - -This improves optimization for queries that test several columns, requiring an estimate of the combined effect of several `WHERE` clauses. If the columns are correlated and have non-uniform distributions then multi-column statistics will allow much better estimates. - -Allow common table expressions (CTEs) to be inlined into the outer query. - -Specifically, CTEs are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying `MATERIALIZED`, or forced for multiply-referenced CTEs by specifying `NOT MATERIALIZED`. Previously, CTEs were never inlined and were always evaluated before the rest of the query. - -Allow control over when generic plans are used for prepared statements. - -This is controlled by the `plan_cache_mode` server parameter. - -Improve optimization of partition and `UNION ALL` queries that have only a single child. - -Improve processing of domains that have no check constraints. - -Domains that are being used purely as type aliases no longer cause optimization difficulties. - -Pre-evaluate calls of `LEAST` and `GREATEST` when their arguments are constants. - -Improve optimizer's ability to verify that partial indexes with IS `NOT NULL` conditions are usable in queries. - -Usability can now be recognized in more cases where the calling query involves casts or large `x IN (array)` clauses. - -Compute `ANALYZE` statistics using the collation defined for each column. - -Previously, the database's default collation was used for all statistics. This potentially gives better optimizer behavior for columns with non-default collations. - -Improve selectivity estimates for inequality comparisons on `ctid` columns. - -Improve optimization of joins on columns of type `tid`. - -These changes primarily improve the efficiency of self-joins on `ctid` columns. - -Fix the leakproofness designations of some btree comparison operators and support functions. - -This allows some optimizations that previously would not have been applied in the presence of security barrier views or row-level security. - -### General Performance - -Enable Just-in-Time (JIT) compilation by default, if the server has been built with support for it. - -Note that this support is not built by default, but has to be selected explicitly while configuring the build. - -Speed up keyword lookup. - -Improve search performance for multi-byte characters in `position()` and related functions. - -Allow toasted values to be minimally decompressed. - -This is useful for routines that only need to examine the initial portion of a toasted field. - -Allow `ALTER TABLE ... SET NOT NULL` to avoid unnecessary table scans. - -This can be optimized when the table's column constraints can be recognized as disallowing nulls. - -Allow `ALTER TABLE ... SET DATA TYPE` changing between timestamp and timestamptz to avoid a table rewrite when the session time zone is UTC. - -In the UTC time zone, these two data types are binary compatible. - -Improve speed in converting strings to `int2` or `int4` integers. - -Allow parallelized queries when in `SERIALIZABLE` isolation mode. - -Previously, parallelism was disabled when in this mode. - -Use `pread()` and `pwrite()` for random I/O. - -This reduces the number of system calls required for I/O. - -Improve the speed of setting the process title on FreeBSD. - -### Monitoring - -Allow logging of statements from only a percentage of transactions. - -The parameter `log_transaction_sample_rate` controls this. - -Add progress reporting to `CREATE INDEX` and `REINDEX` operations. - -Progress is reported in the `pg_stat_progress_create_index` system view. - -Add progress reporting to `CLUSTER` and `VACUUM FULL`. - -Progress is reported in the `pg_stat_progress_cluster` system view. - -Add progress reporting to `pg_checksums`. - -This is enabled with the option `--progress`. - -Add counter of checksum failures to `pg_stat_database`. - -Add tracking of global objects in system view `pg_stat_database`. - -Global objects are shown with a `pg_stat_database.datid` value of zero. - -Add the ability to list the contents of the archive directory. - -The function is `pg_ls_archive_statusdir()`. - -Add the ability to list the contents of temporary directories. - -The function, `pg_ls_tmpdir()`, optionally allows specification of a tablespace. - -Add information about the client certificate to the system view `pg_stat_ssl`. - -The new columns are `client_serial` and `issuer_dn`. Column `clientdn` has been renamed to `client_dn` for clarity. - -Restrict visibility of rows in `pg_stat_ssl` for unprivileged users. - -At server start, emit a log message including the server version number. - -Prevent logging "incomplete startup packet" if a new connection is immediately closed. - -This avoids log spam from certain forms of monitoring. - -Include the `application_name`, if set, in `log_connections` log messages. - -Make the walreceiver set its application name to the cluster name, if set. - -Add the timestamp of the last received standby message to `pg_stat_replication`. - -Add a wait event for `fsync` of WAL segments. - -### Authentication - -Add GSSAPI encryption support. - -This feature allows TCP/IP connections to be encrypted when using GSSAPI authentication, without having to set up a separate encryption facility such as SSL. In support of this, add hostgssenc and hostnogssenc record types in `pg_hba.conf` for selecting connections that do or do not use GSSAPI encryption, corresponding to the existing hostssl and hostnossl record types. There is also a new `gssencmode` libpq option, and a `pg_stat_gssapi` system view. - -Allow the clientcert `pg_hba.conf` option to check that the database user name matches the client certificate's common name. - -This new check is enabled with `clientcert=verify-full`. - -Allow discovery of an LDAP server using DNS SRV records. - -This avoids the requirement of specifying ldapserver. It is only supported if PostgreSQL is compiled with OpenLDAP. - -### Server Configuration - -Add ability to enable/disable cluster checksums using `pg_checksums`. - -The cluster must be shut down for these operations. - -Reduce the default value of `autovacuum_vacuum_cost_delay` to 2ms. - -This allows autovacuum operations to proceed faster by default. - -Allow `vacuum_cost_delay` to specify sub-millisecond delays, by accepting fractional values. - -Allow time-based server parameters to use units of microseconds (us). - -Allow fractional input for integer server parameters. - -For example, `SET work_mem = '30.1GB'` is now allowed, even though `work_mem` is an integer parameter. The value will be rounded to an integer after any required units conversion. - -Allow units to be defined for floating-point server parameters. - -Add `wal_recycle` and `wal_init_zero` server parameters to control WAL file recycling. - -Avoiding file recycling can be beneficial on copy-on-write file systems like ZFS. - -Add server parameter `tcp_user_timeout` to control the server's TCP timeout. - -Allow control of the minimum and maximum SSL protocol versions. - -The server parameters are `ssl_min_protocol_version` and `ssl_max_protocol_version`. - -Add server parameter `ssl_library` to report the SSL library version used by the server. - -Add server parameter `shared_memory_type` to control the type of shared memory to use. - -This allows selection of System V shared memory, if desired. - -### Streaming Replication And Recovery - -Allow some recovery parameters to be changed with reload. - -These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. - -Allow the streaming replication timeout `(wal_sender_timeout)` to be set per connection. - -Previously, this could only be set cluster-wide. - -Add function `pg_promote()` to promote standbys to primaries. - -Previously, this operation was only possible by using `pg_ctl` or creating a trigger file. - -Allow replication slots to be copied. - -The functions for this are `pg_copy_physical_replication_slot()` and `pg_copy_logical_replication_slot()`. - -Make `max_wal_senders` not count as part of `max_connections`. - -Add an explicit value of current for `recovery_target_timeline`. - -Make recovery fail if a two-phase transaction status file is corrupt. - -Previously, a warning was logged and recovery continued, allowing the transaction to be lost. - -### Utility Commands - -Add `REINDEX CONCURRENTLY` option to allow reindexing without locking out writes. - -This is also controlled by the reindexdb application's --concurrently option. - -Add support for generated columns. - -The content of generated columns are computed from expressions (including references to other columns in the same table) rather than being specified by `INSERT` or `UPDATE` commands. - -Add a `WHERE` clause to `COPY FROM` to control which rows are accepted. - -This provides a simple way to filter incoming data. - -Allow enumerated values to be added more flexibly. - -Previously, `ALTER TYPE ... ADD VALUE` could not be called in a transaction block, unless it was part of the same transaction that created the enumerated type. Now it can be called in a later transaction, so long as the new enumerated value is not referenced until after it is committed. - -Add commands to end a transaction and start a new one. - -The commands are `COMMIT AND CHAIN` and `ROLLBACK AND CHAIN`. - -Add `VACUUM` and `CREATE TABLE` options to prevent `VACUUM` from truncating trailing empty pages. - -These options are `vacuum_truncate` and `toast.vacuum_truncate`. Use of these options reduces `VACUUM's` locking requirements, but prevents returning disk space to the operating system. - -Allow `VACUUM` to skip index cleanup. - -This change adds a `VACUUM` command option `INDEX_CLEANUP` as well as a table storage option `vacuum_index_cleanup`. Use of this option reduces the ability to reclaim space and can lead to index bloat, but it is helpful when the main goal is to freeze old tuples. - -Add the ability to skip `VACUUM` and `ANALYZE` operations on tables that cannot be locked immediately. - -This option is called `SKIP_LOCKED`. - -Allow `VACUUM` and `ANALYZE` to take optional Boolean argument specifications. - -Prevent `TRUNCATE`, `VACUUM`, and `ANALYZE` from requesting a lock on tables for which the user lacks permission. - -This prevents unauthorized locking, which could interfere with user queries. - -Add `EXPLAIN` option `SETTINGS` to output non-default optimizer settings. - -This output can also be obtained when using `auto_explain` by setting `auto_explain.log_settings`. - -Add `OR REPLACE` option to `CREATE AGGREGATE`. - -Allow modifications of system catalogs' options using `ALTER TABLE`. - -Modifications of catalogs' reloptions and autovacuum settings are now supported. (Setting `allow_system_table_mods` is still required.) - -Use all key columns' names when selecting default constraint names for foreign keys. - -Previously, only the first column name was included in the constraint name, resulting in ambiguity for multi-column foreign keys. - -### Data Types - -Update assorted knowledge about Unicode to match Unicode 12.1.0. - -This fixes, for example, cases where psql would misformat output involving combining characters. - -Update Snowball stemmer dictionaries with support for new languages. - -This adds word stemming support for Arabic, Indonesian, Irish, Lithuanian, Nepali, and Tamil to full text search. - -Allow creation of collations that report string equality for strings that are not bitwise equal. - -This feature supports "nondeterministic" collations that can define case- and accent-agnostic equality comparisons. Thus, for example, a case-insensitive uniqueness constraint on a text column can be made more easily than before. This is only supported for ICU collations. - -Add support for ICU collation attributes on older ICU versions. - -This allows customization of the collation rules in a consistent way across all ICU versions. - -Allow data type name to more seamlessly be compared to other text types. - -Type name now behaves much like a domain over type text that has default collation "C". This allows cross-type comparisons to be processed more efficiently. - -### Functions - -Add support for the SQL/JSON path language. - -This allows execution of complex queries on JSON values using an SQL-standard language. - -Add support for hyperbolic functions. - -Also add `log10()` as an alias for `log()`, for standards compliance. - -Improve the accuracy of statistical aggregates like variance() by using more precise algorithms. - -Allow `date_trunc()` to have an additional argument to control the time zone. - -This is faster and simpler than using the `AT TIME ZONE` clause. - -Adjust `to_timestamp()`/`to_date()` functions to be more forgiving of template mismatches. - -This new behavior more closely matches the Oracle functions of the same name. - -### Fix assorted bugs in XML functions - -Specifically, in `XMLTABLE`, `xpath()`, and `xmlexists()`, fix some cases where nothing was output for a node, or an unexpected error was thrown, or necessary escaping of XML special characters was omitted. - -Allow the `BY VALUE` clause in `XMLEXISTS` and `XMLTABLE`. - -This SQL-standard clause has no effect in PostgreSQL's implementation, but it was unnecessarily being rejected. - -Prevent `current_schema()` and `current_schemas()` from being run by parallel workers, as they are not parallel-safe. - -Allow `RECORD` and `RECORD[]` to be used as column types in a query's column definition list for a table function that is declared to return `RECORD`. - -### PL/PgSQL - -Allow SQL commands and variables with the same names as those commands to be used in the same PL/pgSQL function. - -For example, allow a variable called comment to exist in a function that calls the `COMMENT SQL` command. Previously this combination caused a parse error. - -Add new optional warning and error checks to PL/pgSQL. - -The new checks allow for run-time validation of `INTO` column counts and single-row results. - -### Client Interfaces - -Add connection parameter `tcp_user_timeout` to control libpq's TCP timeout. - -Allow libpq (and thus psql) to report only the SQLSTATE value in error messages. - -Add libpq function `PQresultMemorySize()` to report the memory used by a query result. - -Remove the no-display/debug flag from libpq's options connection parameter. - -This allows this parameter to be set by `postgres_fdw`. - -Allow ecpg to create variables of data type bytea. - -This allows ECPG clients to interact with bytea data directly, rather than using an encoded form. - -Add `PREPARE AS` support to ECPG. - -### Client Applications - -Allow vacuumdb to select tables for vacuum based on their wraparound horizon. - -The options are `--min-xid-age` and `--min-mxid-age`. - -Allow vacuumdb to disable waiting for locks or skipping all-visible pages. - -The options are `--skip-locked` and `--disable-page-skipping`. - -Add colorization to the output of command-line utilities. - -This is enabled by setting the environment variable `PG_COLOR` to always or auto. The specific colors used can be adjusted by setting the environment variable `PG_COLORS`, using ANSI escape codes for colors. For example, the default behavior is equivalent to `PG_COLORS="error=01;31:warning=01;35:locus=01"`. - -### psql - -Add CSV table output mode in psql. - -This is controlled by `\pset` format csv or the command-line `--csv` option. - -Show the manual page URL in psql's `\help` output for a SQL command. - -Display the IP address in psql's `\conninfo` (Fabien Coelho). - -Improve tab completion of `CREATE TABLE`, `CREATE TRIGGER`, `CREATE EVENT TRIGGER`, `ANALYZE`, `EXPLAIN`, `VACUUM`, `ALTER TABLE`, `ALTER INDEX`, `ALTER DATABASE`, and `ALTER INDEX ALTER COLUMN`. - -### pgbench - -Allow values produced by queries to be assigned to pgbench variables. - -The command for this is `\gset`. - -Improve precision of pgbench's `--rate` option. - -Improve pgbench's error reporting with clearer messages and return codes. - -### Server Applications - -Allow control of log file rotation via `pg_ctl`. - -Previously, this was only possible via an SQL function or a process signal. - -Properly detach the new server process during `pg_ctl` start. - -This prevents the server from being shut down if the shell script that invoked `pg_ctl` is interrupted later. - -Allow `pg_upgrade` to use the file system's cloning feature, if there is one. - -The `--clone` option has the advantages of `--link`, while preventing the old cluster from being changed after the new cluster has started. - -Allow specification of the socket directory to use in `pg_upgrade`. - -This is controlled by `--socketdir`; the default is the current directory. - -Allow `pg_checksums` to disable `fsync` operations. - -This is controlled by the `--no-sync` option. - -Allow `pg_rewind` to disable `fsync` operations. - -Fix `pg_test_fsync` to report accurate `open_datasync` durations on Windows. - -### pg_dump, pg_dumpall, pg_restore - -When `pg_dump` emits data with `INSERT` commands rather than `COPY`, allow more than one data row to be included in each `INSERT`. - -The option controlling this is `--rows-per-insert`. - -Allow `pg_dump` to emit `INSERT ... ON CONFLICT DO NOTHING`. - -This avoids conflict failures during restore. The option is `--on-conflict-do-nothing`. - -Decouple the order of operations in a parallel `pg_dump` from the order used by a subsequent parallel `pg_restore`. - -This allows `pg_restore` to perform more-fully-parallelized parallel restores, especially in cases where the original dump was not done in parallel. Scheduling of a parallel `pg_dump` is also somewhat improved. - -Allow the `extra_float_digits` setting to be specified for `pg_dump` and `pg_dumpall`. - -This is primarily useful for making dumps that are exactly comparable across different source server versions. It is not recommended for normal use, as it may result in loss of precision when the dump is restored. - -Add `--exclude-database` option to `pg_dumpall`. - -### Source Code - -Add `CREATE ACCESS METHOD` command to create new table types. - -This enables the development of new table access methods, which can optimize storage for different use cases. The existing heap access method remains the default. - -Add planner support function interfaces to improve optimizer estimates, inlining, and indexing for functions. - -This allows extensions to create planner support functions that can provide function-specific selectivity, cost, and row-count estimates that can depend on the function's arguments. Support functions can also supply simplified representations and index conditions, greatly expanding optimization possibilities. - -Simplify renumbering manually-assigned `OIDs`, and establish a new project policy for management of such `OIDs`. - -Patches that manually assign `OIDs` for new built-in objects (such as new functions) should now randomly choose `OIDs` in the range 8000—9999. At the end of a development cycle, the OIDs used by committed patches will be renumbered down to lower numbers, currently somewhere in the 4xxx range, using the new `renumber_oids.pl` script. This approach should greatly reduce the odds of `OID` collisions between different in-process patches. - -While there is no specific policy reserving any `OIDs` for external use, it is recommended that forks and other projects needing private manually-assigned `OIDs` use numbers in the high 7xxx range. This will avoid conflicts with recently-merged patches, and it should be a long time before the core project reaches that range. - -Build Cygwin binaries using dynamic instead of static libraries. - -Remove configure switch `--disable-strong-random`. - -A strong random-number source is now required. - -printf-family functions, as well as `strerror` and `strerror_r`, now behave uniformly across platforms within Postgres code. - -Notably, `printf` understands `%m` everywhere; on Windows, `strerror` copes with Winsock error codes (it used to do so in backend but not frontend code); and `strerror_r` always follows the GNU return convention. - -Require a C99-compliant compiler, and MSVC 2013 or later on Windows. - -Use pandoc, not lynx, for generating plain-text documentation output files. - -This affects only the `INSTALL file` generated during make dist and the seldom-used plain-text `postgres.txt` output file. Pandoc produces better output than lynx and avoids some locale/encoding issues. Pandoc version 1.13 or later is required. - -Support use of images in the PostgreSQL documentation. - -### Additional Modules - -Allow `ORDER BY` sorts and `LIMIT` clauses to be pushed to `postgres_fdw` foreign servers in more cases. - -Improve optimizer cost accounting for `postgres_fdw` queries. - -Properly honor `WITH CHECK OPTION` on views that reference `postgres_fdw` tables. - -While `CHECK OPTIONs` on `postgres_fdw` tables are ignored (because the reference is foreign), views on such tables are considered local, so this change enforces `CHECK OPTIONs` on them. ### How to Report Problems From 6013c5626ae4aaa1862e4d1be55f65ebbe420067 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:18:38 -0500 Subject: [PATCH 10/30] More polishing of v12 base release notes --- .../12/epas_rel_notes/19_epas12_rel_notes.mdx | 333 +++++++++--------- .../docs/epas/12/epas_rel_notes/index.mdx | 120 +------ 2 files changed, 165 insertions(+), 288 deletions(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx index 80482524255..7dbcfba5b05 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx @@ -1,186 +1,179 @@ --- title: "Version 12.0.0" - -redirects: - - /epas/12/epas_rel_notes/index --- New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 12 include: | Type | Category | Description | | ----------- | -------------- | ---------------- | -| Feature | | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | -| Feature | | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | -| Feature | | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | -| Feature | | Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. | -| Feature | | Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` is an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. | -| Feature | | Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. | -| Feature | | The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. | -| Feature | | The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time and interval types and much like other aggregate functions, it can be used with window function as well. | -| Feature | | In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. | -| Feature | | Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. | -| Feature | | Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). | -| Feature | | Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. | -| Feature | | Advanced Server now offers a new that provides information that is compatible with the Oracle data dictionary views: `{USER|ALL|DBA}_TAB_PRIVS`, `{USER|ALL|DBA}_COL_PRIVS`, and `{USER|ALL|DBA}_TAB_DEPENDENCIES`.| -| Update | Partitioning | Improve performance of many operations on partitioned tables. | -| Update | Partitioning | Allow tables with thousands of child partitions to be processed efficiently by operations that only affect a small number of partitions. | -| Update | Partitioning | Allow foreign keys to reference partitioned tables. | -| Update | Partitioning | Improve speed of `COPY` into partitioned tables. | -| Update | Partitioning | Allow partition bounds to be any expression. Such expressions are evaluated at partitioned-table creation time. Previously, only simple constants were allowed as partition bounds. | -| Update | Partitioning | Allow `CREATE TABLE's` tablespace specification for a partitioned table to affect the tablespace of its children. | -| Update | Partitioning | Avoid sorting when partitions are already being scanned in the necessary order. | -| Update | Partitioning | `ALTER TABLE ATTACH PARTITION` is now performed with reduced locking requirements. | -| Update | Partitioning | Add partition introspection functions. | -| Update | Partitioning | The new function `pg_partition_root()` returns the top-most parent of a partition tree, `pg_partition_ancestors()` reports all ancestors of a partition, and `pg_partition_tree()` displays information about partitions. | -| Update | Partitioning | Include partitioned indexes in the system view `pg_indexes`. | -| Update | Partitioning | Add psql command `\dP` to list of partitioned tables and indexes. | -| Update | Partitioning | Improve psql `\d` and `\z` display of partitioned tables. | -| Update | Partitioning | Fix bugs that could cause `ALTER TABLE DETACH PARTITION` to leave behind incorrect dependency state, allowing subsequent operations to misbehave, such as not dropping a former partition child index when its table is dropped. | -| Update | Indexes | Improve performance and space utilization of B-tree indexes with many duplicates. | -| Update | Indexes | Duplicate index entries are now sorted in heap-storage order. Previously, duplicate index entries were stored unordered within their duplicate groups. This caused overhead during index inserts, wasted space due to excessive page splits, and it reduced `VACUUM's` ability to recycle entire pages. | -| Update | Indexes | Indexes `pg_upgrade'd` from previous releases will not have these benefits. | -| Update | Indexes | Allow multi-column B-tree indexes to be smaller. | -| Update | Indexes | Internal pages and min/max leaf page indicators now only store index keys until the change key, rather than all indexed keys. This also improves the locality of index access. | -| Update | Indexes | Improve speed of B-tree index insertions by reducing locking overhead. | -| Update | Indexes | Support `INCLUDE` columns in `GiST` indexes. | -| Update | Indexes | Add support for nearest-neighbor `(KNN)` searches of `SP-GiST` indexes. | -| Update | Indexes | Reduce the WAL write overhead of `GiST`, `GIN`, and `SP-GiST` index creation. | -| Update | Indexes | Allow index-only scans to be more efficient on indexes with many columns. | -| Update | Indexes | Improve the performance of vacuum scans of `GiST` indexes. | -| Update | Indexes | Delete empty leaf pages during `GiST VACUUM`. | -| Update | Indexes | Reduce locking requirements for index renaming. | -| Update | Optimizer | Allow `CREATE STATISTICS` to create most-common-value statistics for multiple columns. This improves optimization for queries that test several columns, requiring an estimate of the combined effect of several `WHERE` clauses. If the columns are correlated and have non-uniform distributions then multi-column statistics will allow much better estimates.| -| Update | Optimizer | Allow common table expressions (CTEs) to be inlined into the outer query. Specifically, CTEs are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying `MATERIALIZED`, or forced for multiply-referenced CTEs by specifying `NOT MATERIALIZED`. Previously, CTEs were never inlined and were always evaluated before the rest of the query. | -| Update | Optimizer | Allow control over when generic plans are used for prepared statements. This is controlled by the `plan_cache_mode` server parameter. | -| Update | Optimizer | Improve optimization of partition and `UNION ALL` queries that have only a single child. | -| Update | Optimizer | Improve processing of domains that have no check constraints. | -| Update | Optimizer | Domains that are being used purely as type aliases no longer cause optimization difficulties. | -| Update | Optimizer | Pre-evaluate calls of `LEAST` and `GREATEST` when their arguments are constants. | -| Update | Optimizer | Improve optimizer's ability to verify that partial indexes with IS `NOT NULL` conditions are usable in queries. | -| Update | Optimizer | Usability can now be recognized in more cases where the calling query involves casts or large `x IN (array)` clauses. | -| Update | Optimizer | Compute `ANALYZE` statistics using the collation defined for each column. Previously, the database's default collation was used for all statistics. This potentially gives better optimizer behavior for columns with non-default collations. | -| Update | Optimizer | Improve selectivity estimates for inequality comparisons on `ctid` columns. | -| Update | Optimizer | Improve optimization of joins on columns of type `tid`. These changes primarily improve the efficiency of self-joins on `ctid` columns.| -| Update | Optimizer | Fix the leakproofness designations of some btree comparison operators and support functions. This allows some optimizations that previously would not have been applied in the presence of security barrier views or row-level security. | -| Update | Performance | Enable Just-in-Time (JIT) compilation by default, if the server has been built with support for it. Note that this support is not built by default, but has to be selected explicitly while configuring the build. | -| Update | Performance | Speed up keyword lookup. | -| Update | Performance | Improve search performance for multi-byte characters in `position()` and related functions. | -| Update | Performance | Allow toasted values to be minimally decompressed. This is useful for routines that only need to examine the initial portion of a toasted field. | -| Update | Performance | Allow `ALTER TABLE ... SET NOT NULL` to avoid unnecessary table scans. This can be optimized when the table's column constraints can be recognized as disallowing nulls. | -| Update | Performance | Allow `ALTER TABLE ... SET DATA TYPE` changing between timestamp and timestamptz to avoid a table rewrite when the session time zone is UTC. In the UTC time zone, these two data types are binary compatible. | -| Update | Performance | Improve speed in converting strings to `int2` or `int4` integers. | -| Update | Performance | Allow parallelized queries when in `SERIALIZABLE` isolation mode. Previously, parallelism was disabled when in this mode. | -| Update | Performance | Use `pread()` and `pwrite()` for random I/O. This reduces the number of system calls required for I/O. | -| Update | Performance | Improve the speed of setting the process title on FreeBSD. | -| Update | Monitoring | Allow logging of statements from only a percentage of transactions. The parameter `log_transaction_sample_rate` controls this. | -| Update | Monitoring | Add progress reporting to `CREATE INDEX` and `REINDEX` operations. Progress is reported in the `pg_stat_progress_create_index` system view. | -| Update | Monitoring | Add progress reporting to `CLUSTER` and `VACUUM FULL`. Progress is reported in the `pg_stat_progress_cluster` system view. - | -| Update | Monitoring | Add progress reporting to `pg_checksums`. This is enabled with the option `--progress`. | -| Update | Monitoring | Add counter of checksum failures to `pg_stat_database`. | -| Update | Monitoring | Add tracking of global objects in system view `pg_stat_database`. Global objects are shown with a `pg_stat_database.datid` value of zero. | -| Update | Monitoring | Add the ability to list the contents of the archive directory. The function is `pg_ls_archive_statusdir()`. | -| Update | Monitoring | Add the ability to list the contents of temporary directories. The function, `pg_ls_tmpdir()`, optionally allows specification of a tablespace. | -| Update | Monitoring | Add information about the client certificate to the system view `pg_stat_ssl`. The new columns are `client_serial` and `issuer_dn`. Column `clientdn` has been renamed to `client_dn` for clarity. | -| Update | Monitoring | Restrict visibility of rows in `pg_stat_ssl` for unprivileged users. | -| Update | Monitoring | At server start, emit a log message including the server version number. | -| Update | Monitoring | Prevent logging "incomplete startup packet" if a new connection is immediately closed. This avoids log spam from certain forms of monitoring. | -| Update | Monitoring | Include the `application_name`, if set, in `log_connections` log messages. | -| Update | Monitoring | Make the walreceiver set its application name to the cluster name, if set. | -| Update | Monitoring | Add the timestamp of the last received standby message to `pg_stat_replication`. | -| Update | Monitoring | Add a wait event for `fsync` of WAL segments. | -| Feature | Authentication | Add GSSAPI encryption support. This feature allows TCP/IP connections to be encrypted when using GSSAPI authentication, without having to set up a separate encryption facility such as SSL. In support of this, add `hostgssenc` and `hostnogssenc` record types in `pg_hba.conf` for selecting connections that do or do not use GSSAPI encryption, corresponding to the existing `hostssl` and `hostnossl` record types. There is also a new `gssencmode` libpq option and a `pg_stat_gssapi` system view. | -| Feature | Authentication | Allow the clientcert `pg_hba.conf` option to check that the database user name matches the client certificate's common name. This new check is enabled with `clientcert=verify-full`. | -| Feature | Authentication | Allow discovery of an LDAP server using DNS SRV records. This avoids the requirement of specifying ldapserver. It is only supported if PostgreSQL is compiled with OpenLDAP. | -| Feature | Server Configuration | Add ability to enable/disable cluster checksums using `pg_checksums`. The cluster must be shut down for these operations. | -| Feature | Server Configuration | Reduce the default value of `autovacuum_vacuum_cost_delay` to 2ms. This allows autovacuum operations to proceed faster by default. | -| Feature | Server Configuration | Allow `vacuum_cost_delay` to specify sub-millisecond delays, by accepting fractional values. | -| Feature | Server Configuration | Allow time-based server parameters to use units of microseconds (us). | -| Feature | Server Configuration | Allow fractional input for integer server parameters. For example, `SET work_mem = '30.1GB'` is now allowed, even though `work_mem` is an integer parameter. The value will be rounded to an integer after any required units conversion. | -| Feature | Server Configuration | Allow units to be defined for floating-point server parameters. | -| Feature | Server Configuration | Add `wal_recycle` and `wal_init_zero` server parameters to control WAL file recycling. Avoiding file recycling can be beneficial on copy-on-write file systems like ZFS. | -| Feature | Server Configuration | Add server parameter `tcp_user_timeout` to control the server's TCP timeout. | -| Feature | Server Configuration | Allow control of the minimum and maximum SSL protocol versions. The server parameters are `ssl_min_protocol_version` and `ssl_max_protocol_version`. | -| Feature | Server Configuration | Add server parameter `ssl_library` to report the SSL library version used by the server. | -| Feature | Server Configuration | Add server parameter `shared_memory_type` to control the type of shared memory to use. This allows selection of System V shared memory, if desired. | -| Feature | Streaming Replication and Recovery | Allow some recovery parameters to be changed with reload. These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. | -| Feature | Streaming Replication and Recovery | Allow some recovery parameters to be changed with reload. These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. | -| Feature | Streaming Replication and Recovery | Allow the streaming replication timeout `(wal_sender_timeout)` to be set per connection. Previously, this could only be set cluster-wide. | -| Feature | Streaming Replication and Recovery | Add function `pg_promote()` to promote standbys to primaries. Previously, this operation was only possible by using `pg_ctl` or creating a trigger file. | -| Feature | Streaming Replication and Recovery | Allow replication slots to be copied. The functions for this are `pg_copy_physical_replication_slot()` and `pg_copy_logical_replication_slot()`. | -| Feature | Streaming Replication and Recovery | Make `max_wal_senders` not count as part of `max_connections`. | -| Feature | Streaming Replication and Recovery | Add an explicit value of current for `recovery_target_timeline`. | -| Feature | Utility Commands | Add `REINDEX CONCURRENTLY` option to allow reindexing without locking out writes. This is also controlled by the reindexdb application's `--concurrently` option. | -| Feature | Utility Commands | Add support for generated columns. The content of generated columns are computed from expressions (including references to other columns in the same table) rather than being specified by `INSERT` or `UPDATE` commands. | -| Feature | Utility Commands | Add a `WHERE` clause to `COPY FROM` to control which rows are accepted. This provides a simple way to filter incoming data. | -| Feature | Utility Commands | Allow enumerated values to be added more flexibly. Previously, `ALTER TYPE ... ADD VALUE` could not be called in a transaction block, unless it was part of the same transaction that created the enumerated type. Now it can be called in a later transaction, so long as the new enumerated value is not referenced until after it is committed. | -| Feature | Utility Commands | Add commands to end a transaction and start a new one. The commands are `COMMIT AND CHAIN` and `ROLLBACK AND CHAIN`. | -| Feature | Utility Commands | Add `VACUUM` and `CREATE TABLE` options to prevent `VACUUM` from truncating trailing empty pages. These options are `vacuum_truncate` and `toast.vacuum_truncate`. Use of these options reduces `VACUUM's` locking requirements, but prevents returning disk space to the operating system. | -| Feature | Utility Commands | Allow `VACUUM` to skip index cleanup. This change adds a `VACUUM` command option `INDEX_CLEANUP` as well as a table storage option `vacuum_index_cleanup`. Use of this option reduces the ability to reclaim space and can lead to index bloat, but it is helpful when the main goal is to freeze old tuples. | -| Feature | Utility Commands | Add the ability to skip `VACUUM` and `ANALYZE` operations on tables that cannot be locked immediately. This option is called `SKIP_LOCKED`. | -| Feature | Utility Commands | Allow `VACUUM` and `ANALYZE` to take optional Boolean argument specifications. | -| Feature | Utility Commands | Prevent `TRUNCATE`, `VACUUM`, and `ANALYZE` from requesting a lock on tables for which the user lacks permission. This prevents unauthorized locking, which could interfere with user queries. | -| Feature | Utility Commands | Add `EXPLAIN` option `SETTINGS` to output non-default optimizer settings. This output can also be obtained when using `auto_explain` by setting `auto_explain.log_settings`. | -| Feature | Utility Commands | Add `OR REPLACE` option to `CREATE AGGREGATE`. Allow modifications of system catalogs' options using `ALTER TABLE`. | -| Feature | Utility Commands | Modifications of catalogs' reloptions and autovacuum settings are now supported. (Setting `allow_system_table_mods` is still required.) | -| Feature | Utility Commands | Use all key columns' names when selecting default constraint names for foreign keys. Previously, only the first column name was included in the constraint name, resulting in ambiguity for multi-column foreign keys. | -| Update | Data Types | Update assorted knowledge about Unicode to match Unicode 12.1.0. This fixes, for example, cases where psql would misformat output involving combining characters. | -| Update | Data Types | Update Snowball stemmer dictionaries with support for new languages. This adds word stemming support for Arabic, Indonesian, Irish, Lithuanian, Nepali, and Tamil to full text search. | -| Update | Data Types | Allow creation of collations that report string equality for strings that are not bitwise equal. This feature supports "nondeterministic" collations that can define case- and accent-agnostic equality comparisons. Thus, for example, a case-insensitive uniqueness constraint on a text column can be made more easily than before. This is only supported for ICU collations. | -| Update | Data Types | Add support for ICU collation attributes on older ICU versions. This allows customization of the collation rules in a consistent way across all ICU versions. | -| Update | Data Types | Allow data type name to more seamlessly be compared to other text types. Type name now behaves much like a domain over type text that has default collation "C". This allows cross-type comparisons to be processed more efficiently. | -| Feature | Functions | Add support for the SQL/JSON path language. This allows execution of complex queries on JSON values using an SQL-standard language. | -| Feature | Functions | Add support for hyperbolic functions. Also add `log10()` as an alias for `log()`, for standards compliance. | -| Feature | Functions | Improve the accuracy of statistical aggregates like variance() by using more precise algorithms. | -| Feature | Functions | Allow `date_trunc()` to have an additional argument to control the time zone. This is faster and simpler than using the `AT TIME ZONE` clause. | +| Feature | General Functionality | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | +| Feature | General Functionality | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | +| Feature | General Functionality | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | +| Feature | General Functionality | Advanced Server allows logical decoding on a standby server. With this feature, the user can now create a logical replication slot on standby server. | +| Feature | General Functionality | Advanced Server now provides `CAST(MULTISET..)`. `CAST(MULTISET)` as an extension to the redwood style casting function `CAST(.. AS ..)` where the subquery result is like a table output `CAST` to a collection type. | +| Feature | General Functionality | Advanced Server now supports two aggregate functions: `LISTAGG` and `MEDIAN`. | +| Feature | General Functionality | The `LISTAGG` function supports string aggregation that concatenates data from multiple rows into a single row in an ordered fashion. | +| Feature | General Functionality | The `MEDIAN` function calculates a median value from the set of provided values. The aggregate function can be used with numeric, date/time, and interval types, and, much like other aggregate functions, it can be used with window functions as well. | +| Feature | General Functionality | In addition to supporting `%type` and `%rowtype` variables for functions and procedures, Advanced Server now supports the same inside a package as well. | +| Feature | General Functionality | Advanced Server now supports a Redwood compatible `to_timestamp` implementation, which facilitates stricter input string parsing for timestamp columns for EDB Loader. | +| Feature | General Functionality | Advanced Server has re-implemented `ROWIDs` using identity data type after PG v12 PostgreSQL community removed support for `OIDs` (to which `ROWIDs` were mapped). | +| Feature | General Functionality | Advanced Server has added the `SYS_GUID` function to generate and return a globally unique identifier in the form of 16-bytes of RAW data. | +| Feature | General Functionality| Advanced Server now offers a new view that provides information that is compatible with the Oracle data dictionary views: `{USER|ALL|DBA}_TAB_PRIVS`, `{USER|ALL|DBA}_COL_PRIVS`, and `{USER|ALL|DBA}_TAB_DEPENDENCIES`.| +| Enhancement | Partitioning | Improve performance of many operations on partitioned tables. | +| Enhancement | Partitioning | Allow tables with thousands of child partitions to be processed efficiently by operations that only affect a small number of partitions. | +| Enhancement | Partitioning | Allow foreign keys to reference partitioned tables. | +| Enhancement | Partitioning | Improve speed of `COPY` into partitioned tables. | +| Enhancement | Partitioning | Allow partition bounds to be any expression. Such expressions are evaluated at partitioned-table creation time. Previously, only simple constants were allowed as partition bounds. | +| Enhancement | Partitioning | Allow the `CREATE TABLE` tablespace specification for a partitioned table to affect the tablespace of its children. | +| Enhancement | Partitioning | Avoid sorting when partitions are already being scanned in the necessary order. | +| Enhancement | Partitioning | `ALTER TABLE ATTACH PARTITION` is now performed with reduced locking requirements. | +| Enhancement | Partitioning | Add partition introspection functions. | +| Enhancement | Partitioning | The new function `pg_partition_root()` returns the top-most parent of a partition tree, `pg_partition_ancestors()` reports all ancestors of a partition, and `pg_partition_tree()` displays information about partitions. | +| Enhancement | Partitioning | Include partitioned indexes in the system view `pg_indexes`. | +| Enhancement | Partitioning | Add psql command `\dP` to the list of partitioned tables and indexes. | +| Enhancement | Partitioning | Improve psql `\d` and `\z` display of partitioned tables. | +| Enhancement | Partitioning | Fix bugs that could cause `ALTER TABLE DETACH PARTITION` to leave behind incorrect dependency state, allowing subsequent operations to misbehave, such as not dropping a former partition child index when its table is dropped. | +| Enhancement | Indexes | Improve performance and space utilization of B-tree indexes with many duplicates. | +| Enhancement | Indexes | Duplicate index entries are now sorted in heap-storage order. Previously, duplicate index entries were stored unordered within their duplicate groups. This caused overhead during index inserts, wasted space due to excessive page splits, and reduced `VACUUM's` ability to recycle entire pages. Indexes `pg_upgrade'd` from previous releases will not have these benefits. | +| Enhancement | Indexes | Allow multi-column B-tree indexes to be smaller. | +| Enhancement | Indexes | Internal pages and min/max leaf page indicators now only store index keys until the change key, rather than all indexed keys. This also improves the locality of index access. | +| Enhancement | Indexes | Improve speed of B-tree index insertions by reducing locking overhead. | +| Enhancement | Indexes | Support `INCLUDE` columns in `GiST` indexes. | +| Enhancement | Indexes | Add support for nearest-neighbor `(KNN)` searches of `SP-GiST` indexes. | +| Enhancement | Indexes | Reduce the WAL write overhead of `GiST`, `GIN`, and `SP-GiST` index creation. | +| Enhancement | Indexes | Allow index-only scans to be more efficient on indexes with many columns. | +| Enhancement | Indexes | Improve the performance of vacuum scans of `GiST` indexes. | +| Enhancement | Indexes | Delete empty leaf pages during `GiST VACUUM`. | +| Enhancement | Indexes | Reduce locking requirements for index renaming. | +| Enhancement | Optimizer | Allow `CREATE STATISTICS` to create most-common-value statistics for multiple columns. This improves optimization for queries that test several columns, requiring an estimate of the combined effect of several `WHERE` clauses. If the columns are correlated and have non-uniform distributions, then multi-column statistics will allow much better estimates.| +| Enhancement | Optimizer | Allow common table expressions (CTEs) to be inlined into the outer query. Specifically, CTEs are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying `MATERIALIZED`, or forced for multiply-referenced CTEs by specifying `NOT MATERIALIZED`. Previously, CTEs were never inlined and were always evaluated before the rest of the query. | +| Enhancement | Optimizer | Allow control over when generic plans are used for prepared statements. This is controlled by the `plan_cache_mode` server parameter. | +| Enhancement | Optimizer | Improve optimization of partition and `UNION ALL` queries that have only a single child. | +| Enhancement | Optimizer | Improve processing of domains that have no check constraints. | +| Enhancement | Optimizer | Domains that are being used purely as type aliases no longer cause optimization difficulties. | +| Enhancement | Optimizer | Pre-evaluate calls of `LEAST` and `GREATEST` when their arguments are constants. | +| Enhancement | Optimizer | Improve optimizer's ability to verify that partial indexes with `IS NOT NULL` conditions are usable in queries. | +| Enhancement | Optimizer | Usability can now be recognized in more cases where the calling query involves casts or large `x IN (array)` clauses. | +| Enhancement | Optimizer | Compute `ANALYZE` statistics using the collation defined for each column. Previously, the database's default collation was used for all statistics. This potentially gives better optimizer behavior for columns with non-default collations. | +| Enhancement | Optimizer | Improve selectivity estimates for inequality comparisons on `ctid` columns. | +| Enhancement | Optimizer | Improve optimization of joins on columns of type `tid`. These changes primarily improve the efficiency of self-joins on `ctid` columns.| +| Enhancement | Optimizer | Fix the leakproofness designations of some B-tree comparison operators and support functions. This allows some optimizations that previously would not have been applied in the presence of security barrier views or row-level security. | +| Enhancement | Performance | Enable Just-in-Time (JIT) compilation by default if the server has been built with support for it. Note that this support is not built by default, but has to be selected explicitly while configuring the build. | +| Enhancement | Performance | Speed up keyword lookup. | +| Enhancement | Performance | Improve search performance for multi-byte characters in `position()` and related functions. | +| Enhancement | Performance | Allow toasted values to be minimally decompressed. This is useful for routines that only need to examine the initial portion of a toasted field. | +| Enhancement | Performance | Allow `ALTER TABLE ... SET NOT NULL` to avoid unnecessary table scans. This can be optimized when the table's column constraints can be recognized as disallowing nulls. | +| Enhancement | Performance | Allow `ALTER TABLE ... SET DATA TYPE` changing between timestamp and timestamptz to avoid a table rewrite when the session time zone is UTC. In the UTC time zone, these two data types are binary compatible. | +| Enhancement | Performance | Improve speed in converting strings to `int2` or `int4` integers. | +| Enhancement | Performance | Allow parallelized queries when in `SERIALIZABLE` isolation mode. Previously, parallelism was disabled when in this mode. | +| Enhancement | Performance | Use `pread()` and `pwrite()` for random I/O. This reduces the number of system calls required for I/O. | +| Enhancement | Performance | Improve the speed of setting the process title on FreeBSD. | +| Enhancement | Monitoring | Allow logging of statements from only a percentage of transactions. The parameter `log_transaction_sample_rate` controls this. | +| Enhancement | Monitoring | Add progress reporting to `CREATE INDEX` and `REINDEX` operations. Progress is reported in the `pg_stat_progress_create_index` system view. | +| Enhancement | Monitoring | Add progress reporting to `CLUSTER` and `VACUUM FULL`. Progress is reported in the `pg_stat_progress_cluster` system view. | +| Enhancement | Monitoring | Add progress reporting to `pg_checksums`. This is enabled with the option `--progress`. | +| Enhancement | Monitoring | Add counter of checksum failures to `pg_stat_database`. | +| Enhancement | Monitoring | Add tracking of global objects in system view `pg_stat_database`. Global objects are shown with a `pg_stat_database.datid` value of zero. | +| Enhancement | Monitoring | Add the ability to list the contents of the archive directory. The function is `pg_ls_archive_statusdir()`. | +| Enhancement | Monitoring | Add the ability to list the contents of temporary directories. The function, `pg_ls_tmpdir()`, optionally allows specification of a tablespace. | +| Enhancement | Monitoring | Add information about the client certificate to the system view `pg_stat_ssl`. The new columns are `client_serial` and `issuer_dn`. Column `clientdn` has been renamed to `client_dn` for clarity. | +| Enhancement | Monitoring | Restrict visibility of rows in `pg_stat_ssl` for unprivileged users. | +| Enhancement | Monitoring | At server start, emit a log message including the server version number. | +| Enhancement | Monitoring | Prevent logging "incomplete startup packet" if a new connection is immediately closed. This avoids log spam from certain forms of monitoring. | +| Enhancement | Monitoring | Include the `application_name`, if set, in `log_connections` log messages. | +| Enhancement | Monitoring | Make the walreceiver set its application name to the cluster name, if set. | +| Enhancement | Monitoring | Add the timestamp of the last received standby message to `pg_stat_replication`. | +| Enhancement | Monitoring | Add a wait event for `fsync` of WAL segments. | +| Enhancement | Authentication | Add GSSAPI encryption support. This Enhancement allows TCP/IP connections to be encrypted when using GSSAPI authentication without having to set up a separate encryption facility such as SSL. In support of this, add `hostgssenc` and `hostnogssenc` record types in `pg_hba.conf` for selecting connections that do or do not use GSSAPI encryption, corresponding to the existing `hostssl` and `hostnossl` record types. There is also a new `gssencmode` libpq option and a `pg_stat_gssapi` system view. | +| Enhancement | Authentication | Allow the clientcert `pg_hba.conf` option to check that the database user name matches the client certificate's common name. This new check is enabled with `clientcert=verify-full`. | +| Enhancement | Authentication | Allow discovery of an LDAP server using DNS SRV records. This avoids the requirement of specifying ldapserver. It is only supported if PostgreSQL is compiled with OpenLDAP. | +| Enhancement | Server Configuration | Add ability to enable/disable cluster checksums using `pg_checksums`. The cluster must be shut down for these operations. | +| Enhancement | Server Configuration | Reduce the default value of `autovacuum_vacuum_cost_delay` to 2ms. This allows autovacuum operations to proceed faster by default. | +| Enhancement | Server Configuration | Allow `vacuum_cost_delay` to specify sub-millisecond delays, by accepting fractional values. | +| Enhancement | Server Configuration | Allow time-based server parameters to use units of microseconds (us). | +| Enhancement | Server Configuration | Allow fractional input for integer server parameters. For example, `SET work_mem = '30.1GB'` is now allowed, even though `work_mem` is an integer parameter. The value will be rounded to an integer after any required units conversion. | +| Enhancement | Server Configuration | Allow units to be defined for floating-point server parameters. | +| Enhancement | Server Configuration | Add `wal_recycle` and `wal_init_zero` server parameters to control WAL file recycling. Avoiding file recycling can be beneficial on copy-on-write file systems like ZFS. | +| Enhancement | Server Configuration | Add server parameter `tcp_user_timeout` to control the server's TCP timeout. | +| Enhancement | Server Configuration | Allow control of the minimum and maximum SSL protocol versions. The server parameters are `ssl_min_protocol_version` and `ssl_max_protocol_version`. | +| Enhancement | Server Configuration | Add server parameter `ssl_library` to report the SSL library version used by the server. | +| Enhancement | Server Configuration | Add server parameter `shared_memory_type` to control the type of shared memory to use. This allows selection of System V shared memory, if desired. | +| Enhancement | Streaming Replication and Recovery | Allow some recovery parameters to be changed with reload. These parameters are `archive_cleanup_command`, `promote_trigger_file`, `recovery_end_command`, and `recovery_min_apply_delay`. | +| Enhancement | Streaming Replication and Recovery | Allow the streaming replication timeout `(wal_sender_timeout)` to be set per connection. Previously, this could only be set cluster-wide. | +| Enhancement | Streaming Replication and Recovery | Add function `pg_promote()` to promote standbys to primaries. Previously, this operation was only possible by using `pg_ctl` or creating a trigger file. | +| Enhancement | Streaming Replication and Recovery | Allow replication slots to be copied. The functions for this are `pg_copy_physical_replication_slot()` and `pg_copy_logical_replication_slot()`. | +| Enhancement | Streaming Replication and Recovery | Make `max_wal_senders` not count as part of `max_connections`. | +| Enhancement | Streaming Replication and Recovery | Add an explicit value of current for `recovery_target_timeline`. | +| Enhancement | Utility Commands | Add `REINDEX CONCURRENTLY` option to allow reindexing without locking out writes. This is also controlled by the reindexdb application's `--concurrently` option. | +| Enhancement | Utility Commands | Add support for generated columns. The content of generated columns are computed from expressions (including references to other columns in the same table) rather than being specified by `INSERT` or `UPDATE` commands. | +| Enhancement | Utility Commands | Add a `WHERE` clause to `COPY FROM` to control which rows are accepted. This provides a simple way to filter incoming data. | +| Enhancement | Utility Commands | Allow enumerated values to be added more flexibly. Previously, `ALTER TYPE ... ADD VALUE` could not be called in a transaction block, unless it was part of the same transaction that created the enumerated type. Now it can be called in a later transaction, so long as the new enumerated value is not referenced until after it is committed. | +| Enhancement | Utility Commands | Add commands to end a transaction and start a new one. The commands are `COMMIT AND CHAIN` and `ROLLBACK AND CHAIN`. | +| Enhancement | Utility Commands | Add `VACUUM` and `CREATE TABLE` options to prevent `VACUUM` from truncating trailing empty pages. These options are `vacuum_truncate` and `toast.vacuum_truncate`. Use of these options reduces `VACUUM's` locking requirements, but prevents returning disk space to the operating system. | +| Enhancement | Utility Commands | Allow `VACUUM` to skip index cleanup. This change adds a `VACUUM` command option `INDEX_CLEANUP` as well as a table storage option `vacuum_index_cleanup`. Use of this option reduces the ability to reclaim space and can lead to index bloat, but it is helpful when the main goal is to freeze old tuples. | +| Enhancement | Utility Commands | Add the ability to skip `VACUUM` and `ANALYZE` operations on tables that cannot be locked immediately. This option is called `SKIP_LOCKED`. | +| Enhancement | Utility Commands | Allow `VACUUM` and `ANALYZE` to take optional Boolean argument specifications. | +| Enhancement | Utility Commands | Prevent `TRUNCATE`, `VACUUM`, and `ANALYZE` from requesting a lock on tables for which the user lacks permission. This prevents unauthorized locking, which could interfere with user queries. | +| Enhancement | Utility Commands | Add `EXPLAIN` option `SETTINGS` to output non-default optimizer settings. This output can also be obtained when using `auto_explain` by setting `auto_explain.log_settings`. | +| Enhancement | Utility Commands | Add `OR REPLACE` option to `CREATE AGGREGATE`. Allow modifications of system catalogs' options using `ALTER TABLE`. | +| Enhancement | Utility Commands | Modifications of catalogs' reloptions and autovacuum settings are now supported. (Setting `allow_system_table_mods` is still required.) | +| Enhancement | Utility Commands | Use all key columns' names when selecting default constraint names for foreign keys. Previously, only the first column name was included in the constraint name, resulting in ambiguity for multi-column foreign keys. | +| Enhancement | Data Types | Update assorted knowledge about Unicode to match Unicode 12.1.0. This fixes, for example, cases where psql would misformat output involving combining characters. | +| Enhancement | Data Types | Update Snowball stemmer dictionaries with support for new languages. This adds word stemming support for Arabic, Indonesian, Irish, Lithuanian, Nepali, and Tamil to full text search. | +| Enhancement | Data Types | Allow creation of collations that report string equality for strings that are not bitwise equal. This Enhancement supports "nondeterministic" collations that can define case- and accent-agnostic equality comparisons. Thus, for example, a case-insensitive uniqueness constraint on a text column can be made more easily than before. This is only supported for ICU collations. | +| Enhancement | Data Types | Add support for ICU collation attributes on older ICU versions. This allows customization of the collation rules in a consistent way across all ICU versions. | +| Enhancement | Data Types | Allow data type name to more seamlessly be compared to other text types. Type name now behaves much like a domain over type text that has default collation "C". This allows cross-type comparisons to be processed more efficiently. | +| Enhancement | Functions | Add support for the SQL/JSON path language. This allows execution of complex queries on JSON values using an SQL-standard language. | +| Enhancement | Functions | Add support for hyperbolic functions. Also add `log10()` as an alias for `log()`, for standards compliance. | +| Enhancement | Functions | Improve the accuracy of statistical aggregates like `variance()` by using more precise algorithms. | +| Enhancement | Functions | Allow `date_trunc()` to have an additional argument to control the time zone. This is faster and simpler than using the `AT TIME ZONE` clause. | | Bug Fix | XML Functions | In `XMLTABLE`, `xpath()`, and `xmlexists()`, fix some cases where nothing was output for a node, or an unexpected error was thrown, or necessary escaping of XML special characters was omitted. | | Bug Fix | XML Functions | Allow the `BY VALUE` clause in `XMLEXISTS` and `XMLTABLE`. This SQL-standard clause has no effect in PostgreSQL's implementation, but it was unnecessarily being rejected. | | Bug Fix | XML Functions | Prevent `current_schema()` and `current_schemas()` from being run by parallel workers, as they are not parallel-safe. | | Bug Fix | XML Functions | Allow `RECORD` and `RECORD[]` to be used as column types in a query's column definition list for a table function that is declared to return `RECORD`. | | Bug Fix | XML Functions | Prevent `current_schema()` and `current_schemas()` from being run by parallel workers, as they are not parallel-safe. | -| Feature | PL/PgSQL | Allow SQL commands and variables with the same names as those commands to be used in the same PL/pgSQL function. For example, allow a variable called comment to exist in a function that calls the `COMMENT SQL` command. Previously this combination caused a parse error. | -| Feature | PL/PgSQL | Add new optional warning and error checks to PL/pgSQL. The new checks allow for run-time validation of `INTO` column counts and single-row results. | -| Feature | Client Interfaces | Add connection parameter `tcp_user_timeout` to control libpq's TCP timeout. | -| Feature | Client Interfaces | Allow libpq (and thus psql) to report only the SQLSTATE value in error messages. | -| Feature | Client Interfaces | Add libpq function `PQresultMemorySize()` to report the memory used by a query result. | -| Feature | Client Interfaces | Remove the no-display/debug flag from libpq's options connection parameter. This allows this parameter to be set by `postgres_fdw`. | -| Feature | Client Interfaces | Allow ecpg to create variables of data type bytea. This allows ECPG clients to interact with bytea data directly, rather than using an encoded form. | -| Feature | Client Interfaces | Add `PREPARE AS` support to ECPG. | -| Feature | Client Applications | Allow vacuumdb to select tables for vacuum based on their wraparound horizon. The options are `--min-xid-age` and `--min-mxid-age`. | -| Feature | Client Applications | Allow vacuumdb to disable waiting for locks or skipping all-visible pages. The options are `--skip-locked` and `--disable-page-skipping`. | -| Feature | Client Applications | Add colorization to the output of command-line utilities. This is enabled by setting the environment variable `PG_COLOR` to always or auto. The specific colors used can be adjusted by setting the environment variable `PG_COLORS`, using ANSI escape codes for colors. For example, the default behavior is equivalent to `PG_COLORS="error=01;31:warning=01;35:locus=01"`. | -| Feature | psql | Add CSV table output mode in psql. This is controlled by `\pset` format csv or the command-line `--csv` option. | -| Feature | psql | Show the manual page URL in psql's `\help` output for a SQL command. | -| Feature | psql | Display the IP address in psql's `\conninfo` (Fabien Coelho). | -| Feature | psql | Improve tab completion of `CREATE TABLE`, `CREATE TRIGGER`, `CREATE EVENT TRIGGER`, `ANALYZE`, `EXPLAIN`, `VACUUM`, `ALTER TABLE`, `ALTER INDEX`, `ALTER DATABASE`, and `ALTER INDEX ALTER COLUMN`. | -| Feature | pgbench | Allow values produced by queries to be assigned to pgbench variables. The command for this is `\gset`. | -| Feature | pgbench | Improve precision of pgbench's `--rate` option. | -| Feature | pgbench | Improve pgbench's error reporting with clearer messages and return codes. | -| Feature | Server Applications | Allow control of log file rotation via `pg_ctl`. Previously, this was only possible via an SQL function or a process signal. | -| Feature | Server Applications | Properly detach the new server process during `pg_ctl` start. This prevents the server from being shut down if the shell script that invoked `pg_ctl` is interrupted later. | -| Feature | Server Applications | Allow `pg_upgrade` to use the file system's cloning feature, if there is one. The `--clone` option has the advantages of `--link`, while preventing the old cluster from being changed after the new cluster has started. | -| Feature | Server Applications | Allow specification of the socket directory to use in `pg_upgrade`. This is controlled by `--socketdir`; the default is the current directory. | -| Feature | Server Applications | Allow `pg_checksums` to disable `fsync` operations. This is controlled by the `--no-sync` option. | -| Feature | Server Applications | Allow `pg_rewind` to disable `fsync` operations. | -| Feature | Server Applications | Fix `pg_test_fsync` to report accurate `open_datasync` durations on Windows. | -| Feature | pg_dump, pg_dumpall, pg_restore | When `pg_dump` emits data with `INSERT` commands rather than `COPY`, allow more than one data row to be included in each `INSERT`. The option controlling this is `--rows-per-insert`. | -| Feature | pg_dump, pg_dumpall, pg_restore | Allow `pg_dump` to emit `INSERT ... ON CONFLICT DO NOTHING`. This avoids conflict failures during restore. The option is `--on-conflict-do-nothing`. | -| Feature | pg_dump, pg_dumpall, pg_restore | Decouple the order of operations in a parallel `pg_dump` from the order used by a subsequent parallel `pg_restore`. This allows `pg_restore` to perform more-fully-parallelized parallel restores, especially in cases where the original dump was not done in parallel. Scheduling of a parallel `pg_dump` is also somewhat improved. | -| Feature | pg_dump, pg_dumpall, pg_restore | Allow the `extra_float_digits` setting to be specified for `pg_dump` and `pg_dumpall`. This is primarily useful for making dumps that are exactly comparable across different source server versions. It is not recommended for normal use, as it may result in loss of precision when the dump is restored. | -| Feature | pg_dump, pg_dumpall, pg_restore | Add `--exclude-database` option to `pg_dumpall`. | -| Feature | Source Code | Add `CREATE ACCESS METHOD` command to create new table types. This enables the development of new table access methods, which can optimize storage for different use cases. The existing heap access method remains the default. | -| Feature | Source Code | Add planner support function interfaces to improve optimizer estimates, inlining, and indexing for functions. This allows extensions to create planner support functions that can provide function-specific selectivity, cost, and row-count estimates that can depend on the function's arguments. Support functions can also supply simplified representations and index conditions, greatly expanding optimization possibilities. | -| Feature | Source Code | Simplify renumbering manually-assigned `OIDs`, and establish a new project policy for management of such `OIDs`. Patches that manually assign `OIDs` for new built-in objects (such as new functions) should now randomly choose `OIDs` in the range 8000—9999. At the end of a development cycle, the OIDs used by committed patches will be renumbered down to lower numbers, currently somewhere in the 4xxx range, using the new `renumber_oids.pl` script. This approach should greatly reduce the odds of `OID` collisions between different in-process patches. While there is no specific policy reserving any `OIDs` for external use, it is recommended that forks and other projects needing private manually-assigned `OIDs` use numbers in the high 7xxx range. This will avoid conflicts with recently-merged patches, and it should be a long time before the core project reaches that range. | -| Feature | Source Code | Build Cygwin binaries using dynamic instead of static libraries. | -| Feature | Source Code | Remove configure switch `--disable-strong-random`. | -| Feature | Source Code | A strong random-number source is now required. | -| Feature | Source Code | printf-family functions, as well as `strerror` and `strerror_r`, now behave uniformly across platforms within Postgres code. Notably, `printf` understands `%m` everywhere; on Windows, `strerror` copes with Winsock error codes (it used to do so in backend but not frontend code); and `strerror_r` always follows the GNU return convention. | -| Feature | Source Code | Require a C99-compliant compiler, and MSVC 2013 or later on Windows. | -| Feature | Source Code | Use pandoc, not lynx, for generating plain-text documentation output files. This affects only the `INSTALL file` generated during make dist and the seldom-used plain-text `postgres.txt` output file. Pandoc produces better output than lynx and avoids some locale/encoding issues. Pandoc version 1.13 or later is required. | -| Feature | Source Code | Support use of images in the PostgreSQL documentation. | -| Feature | Additional Modules | Allow `ORDER BY` sorts and `LIMIT` clauses to be pushed to `postgres_fdw` foreign servers in more cases. | -| Feature | Additional Modules | Improve optimizer cost accounting for `postgres_fdw` queries. | -| Feature | Additional Modules | Properly honor `WITH CHECK OPTION` on views that reference `postgres_fdw` tables. While `CHECK OPTIONs` on `postgres_fdw` tables are ignored (because the reference is foreign), views on such tables are considered local, so this change enforces `CHECK OPTIONs` on them. | +| Enhancement | PL/PgSQL | Allow SQL commands and variables with the same names as those commands to be used in the same PL/pgSQL function. For example, allow a variable called comment to exist in a function that calls the `COMMENT SQL` command. Previously this combination caused a parse error. | +| Enhancement | PL/PgSQL | Add new optional warning and error checks to PL/pgSQL. The new checks allow for run-time validation of `INTO` column counts and single-row results. | +| Enhancement | Client Interfaces | Add connection parameter `tcp_user_timeout` to control libpq's TCP timeout. | +| Enhancement | Client Interfaces | Allow libpq (and thus psql) to report only the SQLSTATE value in error messages. | +| Enhancement | Client Interfaces | Add libpq function `PQresultMemorySize()` to report the memory used by a query result. | +| Enhancement | Client Interfaces | Remove the no-display/debug flag from libpq's options connection parameter. This allows this parameter to be set by `postgres_fdw`. | +| Enhancement | Client Interfaces | Allow ecpg to create variables of data type bytea. This allows ECPG clients to interact with bytea data directly, rather than using an encoded form. | +| Enhancement | Client Interfaces | Add `PREPARE AS` support to ECPG. | +| Enhancement | Client Applications | Allow vacuumdb to select tables for vacuum based on their wraparound horizon. The options are `--min-xid-age` and `--min-mxid-age`. | +| Enhancement | Client Applications | Allow vacuumdb to disable waiting for locks or skipping all-visible pages. The options are `--skip-locked` and `--disable-page-skipping`. | +| Enhancement | Client Applications | Add colorization to the output of command-line utilities. This is enabled by setting the environment variable `PG_COLOR` to always or auto. The specific colors used can be adjusted by setting the environment variable `PG_COLORS`, using ANSI escape codes for colors. For example, the default behavior is equivalent to `PG_COLORS="error=01;31:warning=01;35:locus=01"`. | +| Enhancement | psql | Add CSV table output mode in psql. This is controlled by `\pset` format csv or the command-line `--csv` option. | +| Enhancement | psql | Show the manual page URL in psql's `\help` output for a SQL command. | +| Enhancement | psql | Display the IP address in psql's `\conninfo` (Fabien Coelho). | +| Enhancement | psql | Improve tab completion of `CREATE TABLE`, `CREATE TRIGGER`, `CREATE EVENT TRIGGER`, `ANALYZE`, `EXPLAIN`, `VACUUM`, `ALTER TABLE`, `ALTER INDEX`, `ALTER DATABASE`, and `ALTER INDEX ALTER COLUMN`. | +| Enhancement | pgbench | Allow values produced by queries to be assigned to pgbench variables. The command for this is `\gset`. | +| Enhancement | pgbench | Improve precision of pgbench's `--rate` option. | +| Enhancement | pgbench | Improve pgbench's error reporting with clearer messages and return codes. | +| Enhancement | Server Applications | Allow control of log file rotation via `pg_ctl`. Previously, this was only possible via an SQL function or a process signal. | +| Enhancement | Server Applications | Properly detach the new server process during `pg_ctl` start. This prevents the server from being shut down if the shell script that invoked `pg_ctl` is interrupted later. | +| Enhancement | Server Applications | Allow `pg_upgrade` to use the file system's cloning Enhancement, if there is one. The `--clone` option has the advantages of `--link`, while preventing the old cluster from being changed after the new cluster has started. | +| Enhancement | Server Applications | Allow specification of the socket directory to use in `pg_upgrade`. This is controlled by `--socketdir`; the default is the current directory. | +| Enhancement | Server Applications | Allow `pg_checksums` to disable `fsync` operations. This is controlled by the `--no-sync` option. | +| Enhancement | Server Applications | Allow `pg_rewind` to disable `fsync` operations. | +| Enhancement | Server Applications | Fix `pg_test_fsync` to report accurate `open_datasync` durations on Windows. | +| Enhancement | pg_dump, pg_dumpall, pg_restore | When `pg_dump` emits data with `INSERT` commands rather than `COPY`, allow more than one data row to be included in each `INSERT`. The option controlling this is `--rows-per-insert`. | +| Enhancement | pg_dump, pg_dumpall, pg_restore | Allow `pg_dump` to emit `INSERT ... ON CONFLICT DO NOTHING`. This avoids conflict failures during restore. The option is `--on-conflict-do-nothing`. | +| Enhancement | pg_dump, pg_dumpall, pg_restore | Decouple the order of operations in a parallel `pg_dump` from the order used by a subsequent parallel `pg_restore`. This allows `pg_restore` to perform more-fully-parallelized parallel restores, especially in cases where the original dump was not done in parallel. Scheduling of a parallel `pg_dump` is also somewhat improved. | +| Enhancement | pg_dump, pg_dumpall, pg_restore | Allow the `extra_float_digits` setting to be specified for `pg_dump` and `pg_dumpall`. This is primarily useful for making dumps that are exactly comparable across different source server versions. It is not recommended for normal use, as it may result in loss of precision when the dump is restored. | +| Enhancement | pg_dump, pg_dumpall, pg_restore | Add `--exclude-database` option to `pg_dumpall`. | +| Enhancement | Source Code | Add `CREATE ACCESS METHOD` command to create new table types. This enables the development of new table access methods, which can optimize storage for different use cases. The existing heap access method remains the default. | +| Enhancement | Source Code | Add planner support function interfaces to improve optimizer estimates, inlining, and indexing for functions. This allows extensions to create planner support functions that can provide function-specific selectivity, cost, and row-count estimates that can depend on the function's arguments. Support functions can also supply simplified representations and index conditions, greatly expanding optimization possibilities. | +| Enhancement | Source Code | Simplify renumbering manually-assigned `OIDs`, and establish a new project policy for management of such `OIDs`. Patches that manually assign `OIDs` for new built-in objects (such as new functions) should now randomly choose `OIDs` in the range 8000—9999. At the end of a development cycle, the OIDs used by committed patches will be renumbered down to lower numbers, currently somewhere in the 4xxx range, using the new `renumber_oids.pl` script. This approach should greatly reduce the odds of `OID` collisions between different in-process patches. While there is no specific policy reserving any `OIDs` for external use, it is recommended that forks and other projects needing private manually-assigned `OIDs` use numbers in the high 7xxx range. This will avoid conflicts with recently-merged patches, and it should be a long time before the core project reaches that range. | +| Enhancement | Source Code | Build Cygwin binaries using dynamic instead of static libraries. | +| Enhancement | Source Code | Remove configure switch `--disable-strong-random`. A strong random-number source is now required. | +| Enhancement | Source Code | printf-family functions, as well as `strerror` and `strerror_r`, now behave uniformly across platforms within Postgres code. Notably, `printf` understands `%m` everywhere; on Windows, `strerror` copes with Winsock error codes (it used to do so in backend but not frontend code); and `strerror_r` always follows the GNU return convention. | +| Enhancement | Source Code | Require a C99-compliant compiler, and MSVC 2013 or later on Windows. | +| Enhancement | Source Code | Use pandoc, not lynx, for generating plain-text documentation output files. This affects only the `INSTALL file` generated during make dist and the seldom-used plain-text `postgres.txt` output file. Pandoc produces better output than lynx and avoids some locale/encoding issues. Pandoc version 1.13 or later is required. | +| Enhancement | Source Code | Support use of images in the PostgreSQL documentation. | +| Enhancement | Additional Modules | Allow `ORDER BY` sorts and `LIMIT` clauses to be pushed to `postgres_fdw` foreign servers in more cases. | +| Enhancement | Additional Modules | Improve optimizer cost accounting for `postgres_fdw` queries. | +| Enhancement | Additional Modules | Properly honor `WITH CHECK OPTION` on views that reference `postgres_fdw` tables. While `CHECK OPTIONs` on `postgres_fdw` tables are ignored (because the reference is foreign), views on such tables are considered local, so this change enforces `CHECK OPTIONs` on them. | ## Component Certification diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index cd10cfea569..f00ccd77a4a 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -7,7 +7,7 @@ legacyRedirectsGenerated: - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/index.html" --- -EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 13 has a multitude of other new features and capabilities. +EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 12 has a multitude of other new features and capabilities. The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. @@ -17,120 +17,4 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | | [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | | [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | - - - - - - - - - - - - ---- - -legacyRedirectsGenerated: - # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/toc.html" - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/EPAS_Release_Notes.1.6.html" - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/EPAS_Release_Notes.1.3.html" - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/EPAS_Release_Notes.1.4.html" - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/EPAS_Release_Notes.1.5.html" - - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/installation-guide-for-windows/12/EDB_Postgres_Advanced_Server_Installation_Guide_Windows.1.05.html" ---- - -With this release of EDB Postgres Advanced Server 12, EnterpriseDB continues to lead as the only worldwide company to deliver innovative and low cost open-source-derived database solutions with commercial quality, ease of use, compatibility, scalability, and performance for small or large-scale enterprises. - -EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. - -EDB Postgres Advanced Server 12 adds a number of new outstanding features, including: - -- Interval Partition -- Logical decoding on standby -- `COMPOUND TRIGGER` -- `MEDIAN` and `LISTAGG` -- `CAST_MULTISET` - -For more information about EnterpriseDB software, visit: - - - -## Installers and Documentation - -EDB Postgres Advanced Server v12 is packaged and delivered as interactive installers for Windows; visit the EnterpriseDB website: - - - -RPM Packages are available for Linux from: - - - -Debian/Ubuntu Packages are available for download from: - - - -To request the credentials required to access EDB repositories, visit: - - - -Please note: The EnterpriseDB repository structure has changed; for detailed installation instructions, see the EDB Postgres Advanced Server Linux Installation Guide. - -Documentation is provided on the EnterpriseDB website, visit: - - - - -## EDB Postgres Advanced Server v12 Features - - -For information about Advanced Server features that are compatible with Oracle databases, see the following guides: - -- *Database Compatibility for Oracle Developers SQL Guide* -- *Database Compatibility for Oracle Developers Reference Guide* -- *Database Compatibility for Oracle Developers Built-in Package Guide* -- *Database Compatibility for Oracle Developers Tools and Utilities Guide* - -### Community PostgreSQL 12 Updates - -Advanced Server 12 integrates all of the community PostgreSQL 12 features. To review a complete list of changes to the community PostgreSQL project and the contributors names, see the PostgreSQL 12 Release Notes at: - - - -The following updates are available in PostgreSQL 12: - - - - - - - - - - - - - - - - - - - - - - - - -### How to Report Problems - -To report any issues you are having please contact EnterpriseDB’s technical support staff: - -- Email: [support@enterprisedb.com](mailto:support@enterprisedb.com) - -- Phone: - - US: +1-732-331-1320 or 1-800-235-5891 - - \ No newline at end of file +| [12.1.0](19_epas12_rel_notes.mdx) | 2019 Dec 10 | [12.0](https://www.postgresql.org/docs/12/release-12.html) | \ No newline at end of file From 83a21557e27ef9ead711d973a330d53b26c7fbf9 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:29:11 -0500 Subject: [PATCH 11/30] minor edit - 13 to 12 --- product_docs/docs/epas/12/epas_rel_notes/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index f00ccd77a4a..8f058252890 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -7,7 +7,7 @@ legacyRedirectsGenerated: - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/index.html" --- -EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 13 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 12 has a multitude of other new features and capabilities. +EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 12 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 12 has a multitude of other new features and capabilities. The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. From 1c4182e3caaa55baa8429bfa341a5381d2494ca9 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:35:59 -0500 Subject: [PATCH 12/30] added upstream merge info --- .../docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx | 4 ++-- .../docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx index 32cf1a82ca0..09b73423c8f 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx @@ -8,7 +8,7 @@ EDB Postgres Advanced Server 12.2.3 includes the following bug fixes: | ---- | ---------------- | -- | -------- | | Upstream Merge | Merged with community PostgreSQL 12.2. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-2.html) for details. | | | | Bug Fix | Suppressed error detail when password expiration is set to infinity while using password profiles. | RM44176 | | -| Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB-228 | | +| Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB‑228 | | | Bug Fix | Disabled partition pruning while fetching a cursor rowtype. [Support Ticket: #950257] | RM44174 | | | Bug Fix | Fixed invalid memory context handling inside `switchToVariableContext()`. | RM44164 | | | Bug Fix | Fixed execution of empty statements via expired accounts. [Support Ticket: #942512] | RM44155 | | @@ -16,7 +16,7 @@ EDB Postgres Advanced Server 12.2.3 includes the following bug fixes: | Bug Fix | Fixed `DROP TRIGGER` by name behavior for statement-level triggers. | RM44141 | | | Bug Fix | Fixed `makeConst()` call arguments to order correctly in `parse_spl_var()`. | RM44130 | | | Bug Fix | Fixed TAP testcase failure. | RM44129 | | -| Bug Fix | Fixed server crash in interval partitioning with `CLOBBER_CACHE_ALWAYS` build. | RM44128/ DB-132 | | +| Bug Fix | Fixed server crash in interval partitioning with `CLOBBER_CACHE_ALWAYS` build. | RM44128/ DB‑132 | | | Bug Fix | Changed datatype from int to double to avoid wrap-around in password profile. | RM44118 | | | Bug Fix | Fixed handling of subtypes in the extended protocol. | RM44123 | | | Bug Fix | Fixed `CREATE TRIGGER .. AUTHORIZATION` behavior to avoid potential `pg_upgrade` failures. | RM44109 | | diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx index 7dbcfba5b05..707506e757f 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx @@ -6,6 +6,7 @@ New features, enhancements, bug fixes, and other changes in EDB Postgres Advance | Type | Category | Description | | ----------- | -------------- | ---------------- | +| Upstream Merge | Merged with community PostgreSQL 12. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12.html) for details. | | | | Feature | General Functionality | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | | Feature | General Functionality | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | | Feature | General Functionality | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | From c88bcd5c8f7e5993823e135bf6b2c3b11268f918 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:37:45 -0500 Subject: [PATCH 13/30] Tweaked upstream merge info --- .../docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx index 707506e757f..d48f68fb293 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx @@ -6,7 +6,7 @@ New features, enhancements, bug fixes, and other changes in EDB Postgres Advance | Type | Category | Description | | ----------- | -------------- | ---------------- | -| Upstream Merge | Merged with community PostgreSQL 12. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12.html) for details. | | | +| Upstream Merge | | Merged with community PostgreSQL 12. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12.html) for details. | | | | Feature | General Functionality | Advanced Server now supports interval partitioning. Interval partitioning is an extension to range partitioning where the system automatically creates the partition if a new tuple doesn't fit into existing partitions. | | Feature | General Functionality | For better Redwood compatibility, Advanced Server now treats the `SELECT UNIQUE` clause synonymous to `SELECT DISTINCT` clause (that is, they can be used interchangeably in all places). | | Feature | General Functionality | Advanced Server now supports `COMPOUND TRIGGERS`. This provides a way to define a single trigger on a table that enables the user to specify actions for different DML event points. It allows defining `BEFORE STATEMENT`, `AFTER STATEMENT`, `BEFORE EACH ROW`, `AFTER EACH ROW` timing events in a single trigger. | From 018165669fed3f54e595a03d1004f5bc8fb14962 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:42:39 -0500 Subject: [PATCH 14/30] Modified doc structure with index file --- product_docs/docs/epas/12/index.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/epas/12/index.mdx b/product_docs/docs/epas/12/index.mdx index c0f368488db..355ee06fc1c 100644 --- a/product_docs/docs/epas/12/index.mdx +++ b/product_docs/docs/epas/12/index.mdx @@ -1,11 +1,12 @@ --- title: EDB Postgres Advanced Server navigation: + - epas_rel_notes - "#Getting Started" + - epas_platform_support - epas_inst_linux - epas_inst_windows - - epas_rel_notes - - epas_upgrade_guide + - epas_upgrade_guide - "#For Oracle Developers" - epas_compat_ora_dev_guide - epas_compat_reference From 1fe6e6da36e0790c922c4bebd1e884b0b3ccdad9 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 14 Dec 2021 13:45:43 -0500 Subject: [PATCH 15/30] misplaced hyphen in index file --- product_docs/docs/epas/12/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/index.mdx b/product_docs/docs/epas/12/index.mdx index 355ee06fc1c..7ffd6cb0808 100644 --- a/product_docs/docs/epas/12/index.mdx +++ b/product_docs/docs/epas/12/index.mdx @@ -6,7 +6,7 @@ navigation: - epas_platform_support - epas_inst_linux - epas_inst_windows - - epas_upgrade_guide + - epas_upgrade_guide - "#For Oracle Developers" - epas_compat_ora_dev_guide - epas_compat_reference From 6c20f5adf0fb98e6a2473c2a722b87ad67ad9cc0 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 09:23:44 -0500 Subject: [PATCH 16/30] escape a pipe symbol --- .../docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx index 352a5dfca08..88e1853996a 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx @@ -9,7 +9,7 @@ EDB Postgres Advanced Server 12.3.4 includes the following bug fixes: | Upstream Merge | Merged with community PostgreSQL 12.5.3. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-3.html) for details. | | | | Bug Fix | Fix `dblink_ora_copy()` when copying to EPAS table having `ROWID`. [Support Ticket: #964115] | DB-435 | | | Bug Fix | Ignore `TOAST` for partitioned tables. [Support Ticket: #983824] | DB-409 | pg_upgrade | -| Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable | scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | +| Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable \| scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | | Bug Fix | Fix server crash when an empty input string is passed to `to_timestamp`. [Support Ticket: #981139] | DB-362 | | | Bug Fix | Fix potential incorrect result or crash by switching to the right memory context. | DB-319 | Median | | Bug Fix | Do not push `ROWNUM` to the child scan/join targets paths and disable partition-wise aggregate when query has `ROWNUM`. | DB-187 | | From fdc9e87eac1d24cfe3f66ca9990d6220b2d1da5a Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 09:25:20 -0500 Subject: [PATCH 17/30] minor copy edit --- .../docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx index 88e1853996a..8234d1a1b9b 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/15_epas12.3.4_rel_notes.mdx @@ -9,7 +9,7 @@ EDB Postgres Advanced Server 12.3.4 includes the following bug fixes: | Upstream Merge | Merged with community PostgreSQL 12.5.3. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-3.html) for details. | | | | Bug Fix | Fix `dblink_ora_copy()` when copying to EPAS table having `ROWID`. [Support Ticket: #964115] | DB-435 | | | Bug Fix | Ignore `TOAST` for partitioned tables. [Support Ticket: #983824] | DB-409 | pg_upgrade | -| Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable \| scroll}`, will allow a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | +| Bug Fix | Add GUC to control the scan type for the remote statement. New GUC `edb_dblink_oci.rescan = {serializable \| scroll}` allows a user to choose the scrollable vs non-scrollable cursor. [Support Ticket: #947738] | DB‑380 | dblink_oci | | Bug Fix | Fix server crash when an empty input string is passed to `to_timestamp`. [Support Ticket: #981139] | DB-362 | | | Bug Fix | Fix potential incorrect result or crash by switching to the right memory context. | DB-319 | Median | | Bug Fix | Do not push `ROWNUM` to the child scan/join targets paths and disable partition-wise aggregate when query has `ROWNUM`. | DB-187 | | From a21b0c2872cd9dbcd38fe5ab5714c2653db3460f Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:29:59 -0500 Subject: [PATCH 18/30] Added 12.6 to 12.9 release notes Also renamed 12.0 note --- .../06_epas12.9.13_rel_notes.mdx | 16 ++++++++++++++++ .../07_epas12.8.12_rel_notes.mdx | 11 +++++++++++ .../08_epas12.7.10_rel_notes.mdx | 11 +++++++++++ .../epas_rel_notes/09_epas12.7_rel_notes.mdx | 19 +++++++++++++++++++ .../10_epas12.6.7_rel_notes.mdx | 18 ++++++++++++++++++ ..._notes.mdx => 19_epas12.1.2_rel_notes.mdx} | 2 +- .../docs/epas/12/epas_rel_notes/index.mdx | 15 ++++++++++----- 7 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx create mode 100644 product_docs/docs/epas/12/epas_rel_notes/07_epas12.8.12_rel_notes.mdx create mode 100644 product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx create mode 100644 product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx create mode 100644 product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx rename product_docs/docs/epas/12/epas_rel_notes/{19_epas12_rel_notes.mdx => 19_epas12.1.2_rel_notes.mdx} (99%) diff --git a/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx new file mode 100644 index 00000000000..9242c6d349c --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx @@ -0,0 +1,16 @@ +--- +title: Version 12.9.13 +--- + +EDB Postgres Advanced Server 12.9.13 includes the following bug fixes: + +| Type | Description | ID | Category | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------- | +| Upstream Merge | Merged with community PostgreSQL 12.9. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-9.html) for details. | | | +| Bug Fix | Obey the AM meridian indicator correctly in `to_timestamp()`. [Support Ticket: #74035] | DB-1497 | | +| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` protocol message. [Support Ticket: #72626] | DB-1449 | | +| Bug Fix | Fix possible server crash when the package is dropped from another session | DB-1403 | SPL | +| Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1277884] | DB-1230 | | +| Bug Fix | Populate the event type for missing node type. | DB-1184 | edb_audit | +| Bug Fix | Fix server crash when the package is re-compiled in the same session. [Support Ticket: #1181417] | DB-1038 | SPL | +| Bug Fix | Fix `edbldr` to dynamically look for `to_char()` and `to_date()` functions, so that it can be used for non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | diff --git a/product_docs/docs/epas/12/epas_rel_notes/07_epas12.8.12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/07_epas12.8.12_rel_notes.mdx new file mode 100644 index 00000000000..7406fc136a1 --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/07_epas12.8.12_rel_notes.mdx @@ -0,0 +1,11 @@ +--- +title: Version 12.8.12 +--- + +EDB Postgres Advanced Server 12.8.12 includes the following bug fixes: + +| Type | Description | ID | Category | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | +| Upstream Merge | Merged with community PostgreSQL 12.8. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-8.html) for details. | | | +| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` message. [Support Ticket: #72626] | DB-1449 | | +| Bug Fix | Allow use of the utility under non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | diff --git a/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx new file mode 100644 index 00000000000..c8123620a41 --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx @@ -0,0 +1,11 @@ +--- +title: Version 13.7.10 +--- + +EDB Postgres Advanced Server 13.7.10 includes the following bug fixes: + +| Type | Description | ID | +| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | +| Upstream Merge | Merged with community PostgreSQL 12.7. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-7.html) for details. | | | +| Bug Fix | Fix `pg_upgrade` to allow the system catalog composite type used in user tables. | DB-1237 | +| Bug Fix | Fix possible misbehavior when aborting an autonomous transaction and also fix interaction of autonomous transactions with `edb_stmt_level_tx=on`. | DB-1034 | diff --git a/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx new file mode 100644 index 00000000000..79dc21adbee --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx @@ -0,0 +1,19 @@ +--- +title: Version 12.7 +--- + +EDB Postgres Advanced Server 12.7 includes the following bug fixes: + +| Type | Description | ID | Category | +| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------------- | +| Upstream Merge | Merged with community PostgreSQL 12.7. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-7.html) for details. | | | +| Bug Fix | Prevent some uses of `COMMIT` and `ROLLBACK` in stored procedures that were unsafe and could cause crashes. [Support Ticket: #1234722] | DB-1183 | | +| Bug Fix | Prevent `index_advisor` from interfering with materialized view creation. [Support Ticket: #1189859] | DB-1154 | | +| Bug Fix | Support password redaction in `edb_filter_log` with the extended protocol, specially used with connectors. [Support Ticket: #1234131] | DB-1139 | | +| Bug Fix | Correct `QUEUE` object handling in `EVENT TRIGGER`. | DB-1129 | | +| Bug Fix | Correct `REDACTION COLUMN` object handling in `EVENT TRIGGER`. | DB-1129 | | +| Bug Fix | Fix `pg_upgrade` to not fail when a custom configuration file directory is used. [Support Ticket: #1200560] | DB-1084 | | +| Bug Fix | Refrain from dropping trigger on parent table through partitioning dependency. [Support Ticket: #1187215] | DB-1063 | | +| Bug Fix | Free temporary memory to avoid PGA memory accumulation and exceeds errors. [Support Ticket: #1129386] | DB-1061 | dblink_ora | +| Bug Fix | Fix possible server crash with partition-wish join push-down code path. | DB-1042 | edb_dblink_oci | +| Bug Fix | Fix incorrect error message in `edbldr`. [Support Ticket: #1104048] | DB-826 | | diff --git a/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx new file mode 100644 index 00000000000..0d6c5f9411b --- /dev/null +++ b/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx @@ -0,0 +1,18 @@ +--- +title: Version 12.6.7 +--- + +EDB Postgres Advanced Server 12.6.7 includes the following bug fixes: + +| Type | Description | ID | Category | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------- | +| Upstream Merge | Merged with community PostgreSQL 12.6. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-6.html) for details. | | | +| Bug Fix | Use correct relation information while loading into multiple tables with a single control file to avoid unexpected behavior. [Support Ticket: #1165964] | DB-973 | edbldr | +| Bug Fix | For nested subprocedures, verify that a set-returning function is called in a valid place or not. | DB-946 | | +| Bug Fix | Skip fetching hidden columns in `IMPORT FOREIGN SCHEMA`. [Support Ticket: #1151273] | DB-945 | postgres_fdw | +| Bug Fix | Skip parallel mode check in `nextval()` when it's been called for `rowid` during `CREATE TABLE AS SELECT`. (#1115113) | DB-937 | | +| Bug Fix | Skip SQL Protect-related files when running `pg_checksums` or `pg_verify_checksums`. [Support Ticket: #1140841] | DB-919 | | +| Bug Fix | Forbid `CONNECT_BY_ROOT` and `SYS_CONNECT_BY_PATH` in join expressions. | DB-914 | | +| Bug Fix | Correct start position handling with multibyte encodings in `INSTR`. [Support Ticket: #1133262] | DB-911 | | +| Bug Fix | Remove obsolete function overloading check condition in `pg_dump`. [Support Ticket: #1133344] | DB-892 | | +| Bug Fix | Fix handling of whitespaces when the delimiter is whitespace. [Support Ticket: #1060286] | DB-739 | edbldr | \ No newline at end of file diff --git a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/19_epas12.1.2_rel_notes.mdx similarity index 99% rename from product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx rename to product_docs/docs/epas/12/epas_rel_notes/19_epas12.1.2_rel_notes.mdx index d48f68fb293..b9ed15ad8da 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/19_epas12_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/19_epas12.1.2_rel_notes.mdx @@ -1,5 +1,5 @@ --- -title: "Version 12.0.0" +title: "Version 12.1.2" --- New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 12 include: diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index 8f058252890..6fe00e79ad1 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -13,8 +13,13 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | Version | Release Date | Upstream Merges | | ------- | ------------ | --------------- | -| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | -| [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | -| [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | -| [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | -| [12.1.0](19_epas12_rel_notes.mdx) | 2019 Dec 10 | [12.0](https://www.postgresql.org/docs/12/release-12.html) | \ No newline at end of file +| [12.9.13](06_epas13.9.13_rel_notes.mdx) | 2021 Nov 11 | [12.9](https://www.postgresql.org/docs/12/release-12-9.html) | +| [12.8.12](07_epas12.8.12_rel_notes.mdx) | 2021 Sep 28 | [12.8](https://www.postgresql.org/docs/12/release-12-8.html) | +| [12.7.10](08_epas12.7.10_rel_notes.mdx) | 2021 May 25 | [12.7](https://www.postgresql.org/docs/12/release-12-7.html) | +| [12.7](09_epas12.7_rel_notes.mdx) | 2021 May 14 | [12.7](https://www.postgresql.org/docs/12/release-12-7.html) | +| [12.6.7](10_epas12.6.7_rel_notes.mdx) | 2021 Feb 12 | [12.6](https://www.postgresql.org/docs/12/release-12-6.html) | +| [12.5.6](11_epas12.5.6_rel_notes.mdx) | 2020 Nov 20 | [12.5](https://www.postgresql.org/docs/12/release-12-5.html) | +| [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | +| [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | +| [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | +| [12.1.0](19_epas12.1.2_rel_notes.mdx) | 2019 Dec 10 | [12.0](https://www.postgresql.org/docs/12/release-12.html) | \ No newline at end of file From c7a32f86641c026632ab1f512b303aac6d587009 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:43:35 -0500 Subject: [PATCH 19/30] fixed a few non-breaking hyphens, one file name --- .../docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx | 2 +- .../docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx | 4 ++-- .../docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx | 2 +- .../docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx index 9242c6d349c..71b5e2d42fc 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/06_epas12.9.13_rel_notes.mdx @@ -8,7 +8,7 @@ EDB Postgres Advanced Server 12.9.13 includes the following bug fixes: | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------- | | Upstream Merge | Merged with community PostgreSQL 12.9. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-9.html) for details. | | | | Bug Fix | Obey the AM meridian indicator correctly in `to_timestamp()`. [Support Ticket: #74035] | DB-1497 | | -| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` protocol message. [Support Ticket: #72626] | DB-1449 | | +| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` protocol message. [Support Ticket: #72626] | DB‑1449 | | | Bug Fix | Fix possible server crash when the package is dropped from another session | DB-1403 | SPL | | Bug Fix | Allow dynamic partition creation to non-owner insert queries. [Support Ticket: #1277884] | DB-1230 | | | Bug Fix | Populate the event type for missing node type. | DB-1184 | edb_audit | diff --git a/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx index c8123620a41..c89a7431ca2 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx @@ -1,8 +1,8 @@ --- -title: Version 13.7.10 +title: Version 12.7.10 --- -EDB Postgres Advanced Server 13.7.10 includes the following bug fixes: +EDB Postgres Advanced Server 12.7.10 includes the following bug fixes: | Type | Description | ID | | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | diff --git a/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx index 79dc21adbee..77bc85ea4f9 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/09_epas12.7_rel_notes.mdx @@ -12,7 +12,7 @@ EDB Postgres Advanced Server 12.7 includes the following bug fixes: | Bug Fix | Support password redaction in `edb_filter_log` with the extended protocol, specially used with connectors. [Support Ticket: #1234131] | DB-1139 | | | Bug Fix | Correct `QUEUE` object handling in `EVENT TRIGGER`. | DB-1129 | | | Bug Fix | Correct `REDACTION COLUMN` object handling in `EVENT TRIGGER`. | DB-1129 | | -| Bug Fix | Fix `pg_upgrade` to not fail when a custom configuration file directory is used. [Support Ticket: #1200560] | DB-1084 | | +| Bug Fix | Fix `pg_upgrade` to not fail when a custom configuration file directory is used. [Support Ticket: #1200560] | DB‑1084 | | | Bug Fix | Refrain from dropping trigger on parent table through partitioning dependency. [Support Ticket: #1187215] | DB-1063 | | | Bug Fix | Free temporary memory to avoid PGA memory accumulation and exceeds errors. [Support Ticket: #1129386] | DB-1061 | dblink_ora | | Bug Fix | Fix possible server crash with partition-wish join push-down code path. | DB-1042 | edb_dblink_oci | diff --git a/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx index 0d6c5f9411b..a4fac6b22be 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/10_epas12.6.7_rel_notes.mdx @@ -7,7 +7,7 @@ EDB Postgres Advanced Server 12.6.7 includes the following bug fixes: | Type | Description | ID | Category | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------- | | Upstream Merge | Merged with community PostgreSQL 12.6. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-6.html) for details. | | | -| Bug Fix | Use correct relation information while loading into multiple tables with a single control file to avoid unexpected behavior. [Support Ticket: #1165964] | DB-973 | edbldr | +| Bug Fix | Use correct relation information while loading into multiple tables with a single control file to avoid unexpected behavior. [Support Ticket: #1165964] | DB‑973 | edbldr | | Bug Fix | For nested subprocedures, verify that a set-returning function is called in a valid place or not. | DB-946 | | | Bug Fix | Skip fetching hidden columns in `IMPORT FOREIGN SCHEMA`. [Support Ticket: #1151273] | DB-945 | postgres_fdw | | Bug Fix | Skip parallel mode check in `nextval()` when it's been called for `rowid` during `CREATE TABLE AS SELECT`. (#1115113) | DB-937 | | From edac3ca0809236bbb96c88b0e4e3aa942b7086ca Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:45:37 -0500 Subject: [PATCH 20/30] another non-breaking space --- .../docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx index c89a7431ca2..7e05dbc7f4e 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/08_epas12.7.10_rel_notes.mdx @@ -8,4 +8,4 @@ EDB Postgres Advanced Server 12.7.10 includes the following bug fixes: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | | Upstream Merge | Merged with community PostgreSQL 12.7. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-7.html) for details. | | | | Bug Fix | Fix `pg_upgrade` to allow the system catalog composite type used in user tables. | DB-1237 | -| Bug Fix | Fix possible misbehavior when aborting an autonomous transaction and also fix interaction of autonomous transactions with `edb_stmt_level_tx=on`. | DB-1034 | +| Bug Fix | Fix possible misbehavior when aborting an autonomous transaction and also fix interaction of autonomous transactions with `edb_stmt_level_tx=on`. | DB‑1034 | From e4ca37a33d130683c8e29aa1c198a44287739819 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 15 Dec 2021 12:01:58 -0500 Subject: [PATCH 21/30] Removed bug fixes The only bug fixes for this release apply to v12 --- .../docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx b/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx index 50d543c774d..1d7019696e1 100644 --- a/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx +++ b/product_docs/docs/epas/13/epas_rel_notes/15_epas13.4.8_rel_notes.mdx @@ -6,6 +6,4 @@ EDB Postgres Advanced Server 13.4.8 includes the following bug fixes: | Type | Description | ID | Category | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | -------- | -| Upstream Merge | Merged with community PostgreSQL 13.4. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) for details. | | | -| Bug Fix | Prevent possible crash after implicit rollback handling `Parse` message. [Support Ticket: #72626] | DB-1449 | | -| Bug Fix | Allow use of the utility under non-redwood mode. [Support Ticket: #1161302] | DB-950 | edbldr | +| Upstream Merge | Merged with community PostgreSQL 13.4. See the community [Release Notes](https://www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/) for details. | | | \ No newline at end of file From f91b86f6a10693a173c42e20b74ae3f68e05174e Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Wed, 15 Dec 2021 13:28:27 -0500 Subject: [PATCH 22/30] minor edits --- .../17_epas12.2.3_rel_notes.mdx | 34 +++++++++---------- .../docs/epas/12/epas_rel_notes/index.mdx | 12 +++++-- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx index 09b73423c8f..e9ee6bc8db1 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/17_epas12.2.3_rel_notes.mdx @@ -4,20 +4,20 @@ title: Version 12.2.3 EDB Postgres Advanced Server 12.2.3 includes the following bug fixes: -| Type | Description | ID | Category | -| ---- | ---------------- | -- | -------- | -| Upstream Merge | Merged with community PostgreSQL 12.2. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-2.html) for details. | | | -| Bug Fix | Suppressed error detail when password expiration is set to infinity while using password profiles. | RM44176 | | -| Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB‑228 | | -| Bug Fix | Disabled partition pruning while fetching a cursor rowtype. [Support Ticket: #950257] | RM44174 | | -| Bug Fix | Fixed invalid memory context handling inside `switchToVariableContext()`. | RM44164 | | -| Bug Fix | Fixed execution of empty statements via expired accounts. [Support Ticket: #942512] | RM44155 | | -| Bug Fix | Skipped expression simplification while fetching cursor rowtype. [Support Ticket: #950257] | RM44151 | | -| Bug Fix | Fixed `DROP TRIGGER` by name behavior for statement-level triggers. | RM44141 | | -| Bug Fix | Fixed `makeConst()` call arguments to order correctly in `parse_spl_var()`. | RM44130 | | -| Bug Fix | Fixed TAP testcase failure. | RM44129 | | -| Bug Fix | Fixed server crash in interval partitioning with `CLOBBER_CACHE_ALWAYS` build. | RM44128/ DB‑132 | | -| Bug Fix | Changed datatype from int to double to avoid wrap-around in password profile. | RM44118 | | -| Bug Fix | Fixed handling of subtypes in the extended protocol. | RM44123 | | -| Bug Fix | Fixed `CREATE TRIGGER .. AUTHORIZATION` behavior to avoid potential `pg_upgrade` failures. | RM44109 | | -| Bug Fix | Cleared `rolpasswordsetat` when a user is renamed. | RM44108 | | +| Type | Description | ID | +| ---- | ---------------- | -- | +| Upstream Merge | Merged with community PostgreSQL 12.2. See the community [Release Notes](https://www.postgresql.org/docs/12/release-12-2.html) for details. | | +| Bug Fix | Suppressed error detail when password expiration is set to infinity while using password profiles. | RM44176 | +| Bug Fix | Allowed altering only its own password when expired while using password profiles. | RM44175/ DB‑228 | +| Bug Fix | Disabled partition pruning while fetching a cursor rowtype. [Support Ticket: #950257] | RM44174 | +| Bug Fix | Fixed invalid memory context handling inside `switchToVariableContext()`. | RM44164 | +| Bug Fix | Fixed execution of empty statements via expired accounts. [Support Ticket: #942512] | RM44155 | +| Bug Fix | Skipped expression simplification while fetching cursor rowtype. [Support Ticket: #950257] | RM44151 | +| Bug Fix | Fixed `DROP TRIGGER` by name behavior for statement-level triggers. | RM44141 | +| Bug Fix | Fixed `makeConst()` call arguments to order correctly in `parse_spl_var()`. | RM44130 | +| Bug Fix | Fixed TAP testcase failure. | RM44129 | +| Bug Fix | Fixed server crash in interval partitioning with `CLOBBER_CACHE_ALWAYS` build. | RM44128/ DB‑132 | +| Bug Fix | Changed datatype from int to double to avoid wrap-around in password profile. | RM44118 | +| Bug Fix | Fixed handling of subtypes in the extended protocol. | RM44123 | +| Bug Fix | Fixed `CREATE TRIGGER .. AUTHORIZATION` behavior to avoid potential `pg_upgrade` failures. | RM44109 | +| Bug Fix | Cleared `rolpasswordsetat` when a user is renamed. | RM44108 | diff --git a/product_docs/docs/epas/12/epas_rel_notes/index.mdx b/product_docs/docs/epas/12/epas_rel_notes/index.mdx index 6fe00e79ad1..390b081c123 100644 --- a/product_docs/docs/epas/12/epas_rel_notes/index.mdx +++ b/product_docs/docs/epas/12/epas_rel_notes/index.mdx @@ -7,7 +7,15 @@ legacyRedirectsGenerated: - "/edb-docs/d/edb-postgres-advanced-server/installation-getting-started/release-notes/12/index.html" --- -EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. PostgreSQL 12 has significant performance improvements, which includes an improved indexing and lookup system, a level up on query planning when using extended statistics, improved performance for queries that use aggregates or partitioned tables, and providing more ways to monitor activity within a PostgreSQL database. And along with highly requested features like parallelized vacuuming, incremental sorting, PostgreSQL 12 has a multitude of other new features and capabilities. +EDB Postgres Advanced Server 12 is built on open-source PostgreSQL 12, which introduces myriad enhancements that enable databases to scale up and scale out in more efficient ways. + +EDB Postgres Advanced Server 12 adds a number of new outstanding features, including: + +- Interval Partition +- Logical decoding on standby +- `COMPOUND TRIGGER` +- `MEDIAN` and `LISTAGG` +- `CAST_MULTISET` The EDB Postgres Advanced Server (Advanced Server) documentation describes the latest version of Advanced Server 12 including minor releases and patches. The release notes in this section provide information on what was new in each release. @@ -22,4 +30,4 @@ The EDB Postgres Advanced Server (Advanced Server) documentation describes the l | [12.4.5](13_epas12.4.5_rel_notes.mdx) | 2020 Aug 17 | [12.4](https://www.postgresql.org/docs/12/release-12-4.html) | | [12.3.4](15_epas12.3.4_rel_notes.mdx) | 2020 May 18 | [12.3](https://www.postgresql.org/docs/12/release-12-3.html) | | [12.2.3](17_epas12.2.3_rel_notes.mdx) | 2020 Feb 14 | [12.2](https://www.postgresql.org/docs/12/release-12-2.html) | -| [12.1.0](19_epas12.1.2_rel_notes.mdx) | 2019 Dec 10 | [12.0](https://www.postgresql.org/docs/12/release-12.html) | \ No newline at end of file +| [12.1.2](19_epas12.1.2_rel_notes.mdx) | 2019 Dec 10 | [12.0](https://www.postgresql.org/docs/12/release-12.html) | \ No newline at end of file From 675f498a80452f7a4e68730f9d068e37d1ba831d Mon Sep 17 00:00:00 2001 From: Jagdish-Kewat-EDB <70263647+Jagdish-Kewat-EDB@users.noreply.github.com> Date: Thu, 16 Dec 2021 18:52:06 +0530 Subject: [PATCH 23/30] Update index.mdx EFM-1485 - Fix property name --- product_docs/docs/efm/4/efm_quick_start/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/4/efm_quick_start/index.mdx b/product_docs/docs/efm/4/efm_quick_start/index.mdx index 73925b737bf..4f7c414e2f0 100644 --- a/product_docs/docs/efm/4/efm_quick_start/index.mdx +++ b/product_docs/docs/efm/4/efm_quick_start/index.mdx @@ -75,7 +75,7 @@ Provide values for the following properties on all cluster nodes: | `db.service.owner` | The owner of the `data` directory (usually `postgres` or `enterprisedb`). Required only if the database is running as a service. | | `db.service.name` | The name of the database service (used to restart the server). Required only if the database is running as a service. | | `db.bin` | The path to the `bin` directory (used for calls to `pg_ctl`). | -| `db.recovery.dir` | The `data` directory in which EFM will find or create the `recovery.conf` file or the `standby.signal` file. | +| `db.data.dir` | The `data` directory in which EFM will find or create the `recovery.conf` file or the `standby.signal` file. | | `user.email` | An email address at which to receive email notifications (notification text is also in the agent log file). | | `bind.address` | The local address of the node and the port to use for EFM. The format is: `bind.address=1.2.3.4:7800` | | `is.witness` | `true` on a witness node and `false` if it is a primary or standby. | From 10d4249023411d9b5f594560d6ab5033e8ab17e0 Mon Sep 17 00:00:00 2001 From: Jagdish-Kewat-EDB <70263647+Jagdish-Kewat-EDB@users.noreply.github.com> Date: Thu, 16 Dec 2021 18:56:22 +0530 Subject: [PATCH 24/30] Update index.mdx EFM-1485 - fix property name --- product_docs/docs/efm/3/efm_quick_start/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/efm/3/efm_quick_start/index.mdx b/product_docs/docs/efm/3/efm_quick_start/index.mdx index b8024d4fbc2..65cb920f844 100644 --- a/product_docs/docs/efm/3/efm_quick_start/index.mdx +++ b/product_docs/docs/efm/3/efm_quick_start/index.mdx @@ -78,7 +78,7 @@ Provide values for the following properties on all cluster nodes: | `db.service.owner` | The owner of the `data` directory (usually `postgres` or `enterprisedb`). Required only if the database is running as a service. | | `db.service.name` | The name of the database service (used to restart the server). Required only if the database is running as a service. | | `db.bin` | The path to the `bin` directory (used for calls to `pg_ctl`). | -| `db.recovery.dir` | The `data` directory in which EFM will find or create the `recovery.conf` file or the `standby.signal` file. | +| `db.data.dir` | The `data` directory in which EFM will find or create the `recovery.conf` file or the `standby.signal` file. | | `user.email` | An email address at which to receive email notifications (notification text is also in the agent log file). | | `bind.address` | The local address of the node and the port to use for EFM. The format is: `bind.address=1.2.3.4:7800` | | `is.witness` | `true` on a witness node and `false` if it is a primary or standby. | From 3736ad7f03c341e5877daa9a2a458c8b2d37745f Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 16 Dec 2021 08:46:26 -0500 Subject: [PATCH 25/30] updated region info --- .../biganimal/release/using_cluster/04_backup_and_restore.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/04_backup_and_restore.mdx b/product_docs/docs/biganimal/release/using_cluster/04_backup_and_restore.mdx index 607dd539794..4a462654735 100644 --- a/product_docs/docs/biganimal/release/using_cluster/04_backup_and_restore.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/04_backup_and_restore.mdx @@ -14,7 +14,7 @@ If a restore is necessary—for example, in case of an accidental `DROP TABLE` s Cluster restores aren't performed "in-place" on an existing cluster. Instead, a new cluster is created and initialized with data from the backup archive. Restores must replay the transaction logs between the most recent full database backup and the target restore point. Thus restore times (that is, RTO) are dependent on the write activity in the source cluster. -You can restore backups into a new cluster in the same region. +You can restore backups into a new cluster in any region supported by BigAnimal. #### Perform a cluster restore From d0d6005634d5fdef5d625e343c20132dc0a6e408 Mon Sep 17 00:00:00 2001 From: George Song Date: Thu, 16 Dec 2021 09:01:19 -0800 Subject: [PATCH 26/30] ci: document why we're pinning netlify-cli version --- .github/workflows/deploy-develop.yml | 3 +++ .github/workflows/deploy-main.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/deploy-develop.yml b/.github/workflows/deploy-develop.yml index 051af8dca5f..603b08ac55d 100644 --- a/.github/workflows/deploy-develop.yml +++ b/.github/workflows/deploy-develop.yml @@ -78,6 +78,9 @@ jobs: - name: Netlify deploy run: | + # Pin netlify-cli due to install errors with 8.1.4, possibly related + # to . Try again when + # 8.1.5 is released. sudo npm install -g netlify-cli@8.1.3 netlify deploy --dir=public --prod env: diff --git a/.github/workflows/deploy-main.yml b/.github/workflows/deploy-main.yml index e3211ab18f6..fd8084b5d89 100644 --- a/.github/workflows/deploy-main.yml +++ b/.github/workflows/deploy-main.yml @@ -81,6 +81,9 @@ jobs: - name: Netlify deploy run: | + # Pin netlify-cli due to install errors with 8.1.4, possibly related + # to . Try again when + # 8.1.5 is released. sudo npm install -g netlify-cli@8.1.3 netlify deploy --dir=public --prod env: From 3cbc3281e15b8ff9b8bd32fe0d4eca13b0e2c1ff Mon Sep 17 00:00:00 2001 From: Jon Ericson Date: Thu, 16 Dec 2021 10:31:40 -0800 Subject: [PATCH 27/30] Import BDR 3.7.14 docs --- product_docs/docs/bdr/3.7/appusage.mdx | 2 +- product_docs/docs/bdr/3.7/functions.mdx | 2 +- product_docs/docs/bdr/3.7/index.mdx | 2 - product_docs/docs/bdr/3.7/known-issues.mdx | 8 --- product_docs/docs/bdr/3.7/release-notes.mdx | 78 +++++++++++++++++++++ product_docs/docs/bdr/3.7/repsets.mdx | 6 +- product_docs/docs/bdr/3.7/scaling.mdx | 2 - product_docs/docs/bdr/3.7/striggers.mdx | 15 ++-- product_docs/docs/bdr/3.7/twophase.mdx | 9 --- 9 files changed, 90 insertions(+), 34 deletions(-) diff --git a/product_docs/docs/bdr/3.7/appusage.mdx b/product_docs/docs/bdr/3.7/appusage.mdx index 2871ad84879..2456c127bb8 100644 --- a/product_docs/docs/bdr/3.7/appusage.mdx +++ b/product_docs/docs/bdr/3.7/appusage.mdx @@ -455,7 +455,7 @@ Specification consists of five parts, tested in this order: `server ""` This defines the name of the servers that the sessions will run on. - There can be zero or more server `` specifications. + There can be zero or more server "" specifications. The conninfo corresponding to the names is provided via the command to run isolationtester. This is described in `quickstart_isolationtest.md`. This part is optional. diff --git a/product_docs/docs/bdr/3.7/functions.mdx b/product_docs/docs/bdr/3.7/functions.mdx index ada189a853b..aa9dd2afb1e 100644 --- a/product_docs/docs/bdr/3.7/functions.mdx +++ b/product_docs/docs/bdr/3.7/functions.mdx @@ -57,7 +57,7 @@ connected to. This allows an application to figure out what node it is connected to even behind a transparent proxy. It is also used in combination with CAMO, see the -[Connection pools and proxies](camo#connection-pools-and-proxies) +[CAMO.md#connection-pools-and-proxies]\(Connection pools and proxies) section. ### bdr.last_committed_lsn diff --git a/product_docs/docs/bdr/3.7/index.mdx b/product_docs/docs/bdr/3.7/index.mdx index aa1f75dae11..ae715be0eb9 100644 --- a/product_docs/docs/bdr/3.7/index.mdx +++ b/product_docs/docs/bdr/3.7/index.mdx @@ -114,5 +114,3 @@ Some features are only available on particular versions of Postgres server. Features that are currently available only with EDB Postgres Extended are expected to be available with EDB Postgres Advanced 14. - -This documentation is for the Enterprise Edition of BDR3. diff --git a/product_docs/docs/bdr/3.7/known-issues.mdx b/product_docs/docs/bdr/3.7/known-issues.mdx index f635fdac757..fc08c201b58 100644 --- a/product_docs/docs/bdr/3.7/known-issues.mdx +++ b/product_docs/docs/bdr/3.7/known-issues.mdx @@ -54,11 +54,3 @@ unique identifier. - Decoding Worker feature does not work with CAMO/EAGER - Decoding Worker works only with the default replication sets - -- When Decoding Worker is enabled in BDR node group and a BDR node is shutdown - in fast mode immediately after starting it, the shutdown may not complete - because WAL sender does not exit. This happens because WAL sender waits for - WAL decoder to start and WAL decoder may never start since the node is - shutting down. The situation can be worked around by using an immediate - shutdown or waiting for WAL decoder to start. The WAL decoder process is - reported in `pglogical.workers` as well as `pg_stat_activity` catalogs. diff --git a/product_docs/docs/bdr/3.7/release-notes.mdx b/product_docs/docs/bdr/3.7/release-notes.mdx index b611ddc8f16..edfe5d787d2 100644 --- a/product_docs/docs/bdr/3.7/release-notes.mdx +++ b/product_docs/docs/bdr/3.7/release-notes.mdx @@ -5,6 +5,84 @@ originalFilePath: release-notes.md --- +## BDR 3.7.14 + +This is a maintenance release for BDR 3.7 which includes minor +improvements as well as fixes for issues identified in previous +versions. + +Check also release notes for pglogical 3.7.14 for resolved issues +which affect BDR as well. + +### Improvements + +- Reduce frequency of CAMO partner connection attempts (EE) + In case of a failure to connect to a CAMO partner to verify its + configuration and check the status of transactions, do not retry + immediately (leading to a fully busy pglogical manager process), but + throttle down repeated attempts to reconnect and checks to once per + minute. + +- Ensure CAMO configuration is checked again after a reconnect (EE) + +- Add dummy CAMO configuration catalogs and Raft support (BDR-1676) + This is just to ease rolling upgrades from BDR 3.7 to 4.0.x on CAMO enabled + installations. + +- Avoid unnecessary LCR segment reads (BDR-1426) + We'll now only attempt to read new LCR segments when there are some available. + This should reduce I/O load when decoding worker is enabled. + +### Resolved Issues + +- Switch from CAMO to Local Mode only after timeouts (EE, RT74892) + Do not use the `catchup_interval` estimate when switching from CAMO + protected to Local Mode, as that could induce inadvertent switching + due to load spikes. Use the estimate only when switching from Local + Mode back to CAMO protected (to prevent toggling forth and back due + to lag on the CAMO partner). + +- Prevent duplicate values generated locally by galloc sequence in high + concurrency situations when the new chunk is used (RT76528) + The galloc sequence could have temporarily produce duplicate value when + switching which chunk is used locally (but not across nodes) if there were + multiple sessions waiting for the new value. This is now fixed. + +- Ensure that the group slot is moved forward when there is only one node in + the BDR group + This prevents disk exhaustion due to WAL accumulation when the group is left + running with just single BDR node for prolonged period of time. This is not + recommended setup but the WAL accumulation was not intentional. + +- Advance Raft protocol version when there is only one node in the BDR group + Single node clusters would otherwise always stay on oldest support protocol + until another node was added. This could limit available feature set on that + single node. + +### Other Changes + +- Add CAMO configuration infrastructure needed for upgrade to BDR4 (BDR-1676) + Add dummy CAMO configuration infrastructure bdr.camo_pairs table + and bdr.add/remove_camo_pair() functions to be able to upgrade a + CAMO enabled cluster to BDR4 + +### Upgrades + +This release supports upgrading from following versions of BDR: + +- 3.7.9 and higher +- 3.6.29 + +## BDR 3.7.13.1 + +This is a hotfix release for BDR 3.7.13. + +### Resolved Issues + +- Fix potential FATAL error when using global DML locking with CAMO (BDR-1675, BDR-1655) + +- Fix lag calculation for CAMO local mode delay (BDR-1681) + ## BDR 3.7.13 This is a maintenance release for BDR 3.7 which includes minor improvements diff --git a/product_docs/docs/bdr/3.7/repsets.mdx b/product_docs/docs/bdr/3.7/repsets.mdx index 54792b1035f..1a7e8549af5 100644 --- a/product_docs/docs/bdr/3.7/repsets.mdx +++ b/product_docs/docs/bdr/3.7/repsets.mdx @@ -278,13 +278,11 @@ transaction. another node, because this will stop replication on that node. Should this happen, please unsubscribe the affected node from that replication set. - - For the same reason, you should not drop a replication set if + the same reason, you should not drop a replication set if there is a join operation in progress, and the node being joined is a member of that replication set; replication set membership is only checked at the beginning of the join. - - This happens because the information on replication set usage is + s happens because the information on replication set usage is local to each node, so that it can be configured on a node before it joins the group. diff --git a/product_docs/docs/bdr/3.7/scaling.mdx b/product_docs/docs/bdr/3.7/scaling.mdx index d07a4f6cb91..9065a78b5a2 100644 --- a/product_docs/docs/bdr/3.7/scaling.mdx +++ b/product_docs/docs/bdr/3.7/scaling.mdx @@ -4,8 +4,6 @@ originalFilePath: scaling.md --- -AutoPartition provides automatic management of partitioned tables. - AutoPartition allows tables to grow easily to large sizes by automatic partitioning management. This utilizes the additional features of BDR such as low-conflict locking of creating and dropping partitions. diff --git a/product_docs/docs/bdr/3.7/striggers.mdx b/product_docs/docs/bdr/3.7/striggers.mdx index 52087d76bee..b2a59d7169e 100644 --- a/product_docs/docs/bdr/3.7/striggers.mdx +++ b/product_docs/docs/bdr/3.7/striggers.mdx @@ -175,13 +175,13 @@ otherwise data divergence will occur. Technical Support recommends that all conf triggers are formally tested using the isolationtester tool supplied with BDR. -!!! Warning - - Multiple conflict triggers can be specified on a single table, but - they should match distinct event, i.e. each conflict should only - match a single conflict trigger. - - Multiple triggers matching the same event on the same table are - not recommended; they might result in inconsistent behaviour, and - will be forbidden in a future release. +!!!Warning +- Multiple conflict triggers can be specified on a single table, but + they should match distinct event, i.e. each conflict should only + match a single conflict trigger. + Multiple triggers matching the same event on the same table are + not recommended; they might result in inconsistent behaviour, and + will be forbidden in a future release. If the same conflict trigger matches more than one event, the `TG_OP` variable can be used within the trigger to identify the operation that @@ -700,3 +700,4 @@ BEGIN END; $$; ``` +!!! diff --git a/product_docs/docs/bdr/3.7/twophase.mdx b/product_docs/docs/bdr/3.7/twophase.mdx index ffcac24a1b7..bd0ed9d5d38 100644 --- a/product_docs/docs/bdr/3.7/twophase.mdx +++ b/product_docs/docs/bdr/3.7/twophase.mdx @@ -63,13 +63,4 @@ the second phase from the same node: ```sql COMMIT PREPARED 'some-global-id'; -<<<<<<< HEAD -``` - -======= - -``` - ->>>>>>> 28b38c3c5e30126e05b09e23103e68e4f874b621 - ``` From c4386aeb4619f563077551e276f36c247a115de6 Mon Sep 17 00:00:00 2001 From: Jon Ericson Date: Thu, 16 Dec 2021 11:43:23 -0800 Subject: [PATCH 28/30] Fix formatting changes from upstream. --- product_docs/docs/bdr/3.7/functions.mdx | 4 +--- product_docs/docs/bdr/3.7/repsets.mdx | 6 ++++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/bdr/3.7/functions.mdx b/product_docs/docs/bdr/3.7/functions.mdx index aa9dd2afb1e..32164be1271 100644 --- a/product_docs/docs/bdr/3.7/functions.mdx +++ b/product_docs/docs/bdr/3.7/functions.mdx @@ -56,9 +56,7 @@ Upon session initialization, this is set to the node id the client is connected to. This allows an application to figure out what node it is connected to even behind a transparent proxy. -It is also used in combination with CAMO, see the -[CAMO.md#connection-pools-and-proxies]\(Connection pools and proxies) -section. +It is also used in combination with CAMO, see the [Connection pools and proxies](camo#connection-pools-and-proxies) section. ### bdr.last_committed_lsn diff --git a/product_docs/docs/bdr/3.7/repsets.mdx b/product_docs/docs/bdr/3.7/repsets.mdx index 1a7e8549af5..54792b1035f 100644 --- a/product_docs/docs/bdr/3.7/repsets.mdx +++ b/product_docs/docs/bdr/3.7/repsets.mdx @@ -278,11 +278,13 @@ transaction. another node, because this will stop replication on that node. Should this happen, please unsubscribe the affected node from that replication set. - the same reason, you should not drop a replication set if + + For the same reason, you should not drop a replication set if there is a join operation in progress, and the node being joined is a member of that replication set; replication set membership is only checked at the beginning of the join. - s happens because the information on replication set usage is + + This happens because the information on replication set usage is local to each node, so that it can be configured on a node before it joins the group. From 7aff250710ddbcc9c149e435bd416ead595f6528 Mon Sep 17 00:00:00 2001 From: Jon Ericson Date: Thu, 16 Dec 2021 11:54:52 -0800 Subject: [PATCH 29/30] Hide angle brackets from the HTML filter. --- product_docs/docs/bdr/3.7/appusage.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/bdr/3.7/appusage.mdx b/product_docs/docs/bdr/3.7/appusage.mdx index 2456c127bb8..2871ad84879 100644 --- a/product_docs/docs/bdr/3.7/appusage.mdx +++ b/product_docs/docs/bdr/3.7/appusage.mdx @@ -455,7 +455,7 @@ Specification consists of five parts, tested in this order: `server ""` This defines the name of the servers that the sessions will run on. - There can be zero or more server "" specifications. + There can be zero or more server `` specifications. The conninfo corresponding to the names is provided via the command to run isolationtester. This is described in `quickstart_isolationtest.md`. This part is optional. From f4990cdbe5860e35ca4f0e0d50f12706cde2fbe8 Mon Sep 17 00:00:00 2001 From: Jon Ericson Date: Thu, 16 Dec 2021 12:17:20 -0800 Subject: [PATCH 30/30] Fix warning formatting from upstream --- product_docs/docs/bdr/3.7/striggers.mdx | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/product_docs/docs/bdr/3.7/striggers.mdx b/product_docs/docs/bdr/3.7/striggers.mdx index b2a59d7169e..52087d76bee 100644 --- a/product_docs/docs/bdr/3.7/striggers.mdx +++ b/product_docs/docs/bdr/3.7/striggers.mdx @@ -175,13 +175,13 @@ otherwise data divergence will occur. Technical Support recommends that all conf triggers are formally tested using the isolationtester tool supplied with BDR. -!!!Warning -- Multiple conflict triggers can be specified on a single table, but - they should match distinct event, i.e. each conflict should only - match a single conflict trigger. - Multiple triggers matching the same event on the same table are - not recommended; they might result in inconsistent behaviour, and - will be forbidden in a future release. +!!! Warning + - Multiple conflict triggers can be specified on a single table, but + they should match distinct event, i.e. each conflict should only + match a single conflict trigger. + - Multiple triggers matching the same event on the same table are + not recommended; they might result in inconsistent behaviour, and + will be forbidden in a future release. If the same conflict trigger matches more than one event, the `TG_OP` variable can be used within the trigger to identify the operation that @@ -700,4 +700,3 @@ BEGIN END; $$; ``` -!!!