From 15db7a9100321b9db1d490a4d4d9a8676b6ff1e8 Mon Sep 17 00:00:00 2001 From: George Song Date: Thu, 15 Apr 2021 12:36:50 -0700 Subject: [PATCH 01/21] build: add Apache 2.0 license Former-commit-id: f274deaa0d0387327940792422ddf2835e0e3fe6 --- LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 202 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/package.json b/package.json index 2153248aaa1..f374662a139 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "private": true, "description": "EDB Docs", "version": "0.1.0", + "license": "Apache-2.0", "engines": { "node": "14.x" }, From a00a9cdd7b3fc47f3e1ff69e53b4c16b90c3f90e Mon Sep 17 00:00:00 2001 From: sheetal Date: Sat, 17 Apr 2021 13:21:56 +0530 Subject: [PATCH 02/21] Minor tweaks to SQL guide Former-commit-id: dc879aeb14e2c3ea2f8eaf151bb1f145b353f697 --- .../13/epas_compat_sql/05_alter_profile.mdx | 1 - .../13/epas_compat_sql/06_alter_queue.mdx | 9 +-- ...r_user_role_profile_management_clauses.mdx | 4 +- .../21_create_public_database_link.mdx | 77 +++++++------------ .../25_create_materialized_view.mdx | 3 +- .../13/epas_compat_sql/26_create_package.mdx | 4 +- .../27_create_package_body.mdx | 6 +- .../13/epas_compat_sql/30_create_queue.mdx | 6 +- .../epas_compat_sql/31_create_queue_table.mdx | 6 +- ...e_user_role_profile_management_clauses.mdx | 4 +- .../45_drop_public_database_link.mdx | 2 +- .../epas/13/epas_compat_sql/70_savepoint.mdx | 6 +- .../13/epas_compat_sql/74_set_transaction.mdx | 1 - 13 files changed, 46 insertions(+), 83 deletions(-) diff --git a/product_docs/docs/epas/13/epas_compat_sql/05_alter_profile.mdx b/product_docs/docs/epas/13/epas_compat_sql/05_alter_profile.mdx index 8a545cb45b7..eee67b6156a 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/05_alter_profile.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/05_alter_profile.mdx @@ -54,7 +54,6 @@ Advanced Server supports the `value` shown below for each `parameter`: - An `INTEGER` value greater than `0`. - `DEFAULT`- the value of `FAILED_LOGIN_ATTEMPTS` specified in the `DEFAULT` profile. -- `DEFAULT` - the value of `FAILED_LOGIN_ATTEMPTS` specified in the `DEFAULT` profile. - `UNLIMITED` – the connecting user may make an unlimited number of failed login attempts. `PASSWORD_LOCK_TIME` specifies the length of time that must pass before the server unlocks an account that has been locked because of `FAILED_LOGIN_ATTEMPTS`. Supported values are: diff --git a/product_docs/docs/epas/13/epas_compat_sql/06_alter_queue.mdx b/product_docs/docs/epas/13/epas_compat_sql/06_alter_queue.mdx index 92043612739..81ec4734ec7 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/06_alter_queue.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/06_alter_queue.mdx @@ -39,8 +39,7 @@ ALTER QUEUE RENAME TO The second form of the `ALTER QUEUE` command modifies the attributes of the queue: ```text -ALTER QUEUE SET [ ( { } [,SET - +ALTER QUEUE SET [ ( { ) } [,SET ] ] ``` **Parameters** @@ -62,8 +61,7 @@ ALTER QUEUE SET [ ( { } [,SET Use the third form of the `ALTER QUEUE` command to enable or disable enqueuing and/or dequeuing on a particular queue: ```text -ALTER QUEUE ACCESS { START | STOP } [ FOR { enqueue | dequeue } -] [ NOWAIT ] +ALTER QUEUE ACCESS { START | STOP } [ FOR { enqueue | dequeue } ] [ NOWAIT ] ``` **Parameters** @@ -91,8 +89,7 @@ ALTER QUEUE ACCESS { START | STOP } [ FOR { enqueue | dequeue } Use the fourth form to `ADD` or `DROP` callback details for a particular queue. ```text -ALTER QUEUE { ADD | DROP } CALL TO [ WITH - ] +ALTER QUEUE { ADD | DROP } CALL TO [ WITH ] ``` **Parameters** diff --git a/product_docs/docs/epas/13/epas_compat_sql/16_alter_user_role_profile_management_clauses.mdx b/product_docs/docs/epas/13/epas_compat_sql/16_alter_user_role_profile_management_clauses.mdx index f9cb5aab8fc..3f8a00ad761 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/16_alter_user_role_profile_management_clauses.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/16_alter_user_role_profile_management_clauses.mdx @@ -21,7 +21,7 @@ ALTER USER|ROLE [[WITH] option[…] where `option` can be the following compatible clauses: ```text -PROFILE + PROFILE | ACCOUNT {LOCK|UNLOCK} | PASSWORD EXPIRE [AT ''] ``` @@ -94,4 +94,4 @@ ALTER ROLE john PROFILE acctg_profile; **See Also** -[CREATE USER\|ROLE… PROFILE MANAGEMENT CLAUSES](42_create_user_role_profile_management_clauses/#create_user_role_profile_management_clauses) +[CREATE USER|ROLE… PROFILE MANAGEMENT CLAUSES](42_create_user_role_profile_management_clauses/#create_user_role_profile_management_clauses) diff --git a/product_docs/docs/epas/13/epas_compat_sql/21_create_public_database_link.mdx b/product_docs/docs/epas/13/epas_compat_sql/21_create_public_database_link.mdx index 20c0642ae0d..6a11f8b4aa8 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/21_create_public_database_link.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/21_create_public_database_link.mdx @@ -45,7 +45,7 @@ For information about high availability, load balancing, and replication for Pos !!! Note The `edb_dblink_oci.rescans` GUC can be set to `SCROLL` or `SERIALIZABLE` at the server level in `postgresql.conf` file. It can also be set at session level using the `SET` command, but the setting will not be applied to existing dblink connections due to dblink connection caching. -The `edb_dblink_oci` supports both types of rescans: `SCROLL` and `SERIALIZABLE`. By default it is set to `SERIALIZABLE`. When set to `SERIALIZABLE`, `edb_dblink_oci` uses the `SERIALIZABLE` transaction isolation level on the Oracle side, which corresponds to PostgreSQL’s `REPEATABLE READ`: +The `edb_dblink_oci` supports both types of rescans: `SCROLL` and `SERIALIZABLE`. By default it is set to `SERIALIZABLE`. When set to `SERIALIZABLE`, `edb_dblink_oci` uses the `SERIALIZABLE` transaction isolation level on the Oracle side, which corresponds to PostgreSQL’s `REPEATABLE READ`. - This is necessary as a single PostgreSQL statement can lead to multiple Oracle queries and thereby uses a serializable isolation level to provide consistent results. - A serialization failure may occur due to a table modification concurrent with long-running DML transactions (for example `ADD`, `UPDATE`, or `DELETE` statements). If such a failure occurs, the OCI reports `ORA-08177: can't serialize access for this transaction`, and the application must retry the transaction. @@ -168,7 +168,7 @@ The particular script file that needs to be modified to include the `LD_LIBRARY_ See the appropriate version of the `EDB Postgres Advanced Server Installation Guide` to determine the service script that affects the startup environment. The installation guides can be found at the following location: -> [https://www.enterprisedb.com/docs](/epas/latest/) +[https://www.enterprisedb.com/docs](/epas/latest/) **Oracle Instant Client for Windows** @@ -242,8 +242,7 @@ Issue a `SELECT` command on the `emp` table in the Oracle database using databas SELECT * FROM emp@oralink; empno | ename | job | mgr | hiredate | sal | comm | deptno --------+--------+-----------+------+--------------------+------+------+----- ---- +-------+--------+-----------+------+--------------------+------+------+-------- 7369 | SMITH | CLERK | 7902 | 17-DEC-80 00:00:00 | 800 | | 20 7499 | ALLEN | SALESMAN | 7698 | 20-FEB-81 00:00:00 | 1600 | 300 | 30 7521 | WARD | SALESMAN | 7698 | 22-FEB-81 00:00:00 | 1250 | 500 | 30 @@ -335,14 +334,12 @@ EXPLAIN (verbose,costs off) SELECT d.deptno, d.dname, e.empno, e.ename FROM dept@oralink d, emp@oralink e WHERE d.deptno = e.deptno ORDER BY 1, 3; QUERY PLAN ----------------------------------------------------------------------------- ----- +-------------------------------------------------------------------------------- Foreign Scan Output: d.deptno, d.dname, e.empno, e.ename Relations: (_dblink_dept_1 d) INNER JOIN (_dblink_emp_2 e) - Remote Query: SELECT r1.deptno, r1.dname, r2.empno, r2.ename FROM (dept - r1 INNER JOIN emp r2 ON ((r1.deptno = r2.deptno))) ORDER BY r1.deptno - ASC NULLS LAST, r2.empno ASC NULLS LAST + Remote Query: SELECT r1.deptno, r1.dname, r2.empno, r2.ename FROM (dept r1 INNER +JOIN emp r2 ON ((r1.deptno = r2.deptno))) ORDER BY r1.deptno ASC NULLS LAST, r2.empno ASC NULLS LAST (4 rows) ``` @@ -372,18 +369,15 @@ The following shows the execution plan of a left outer join: ```text EXPLAIN (verbose,costs off) SELECT d.deptno, d.dname, e.empno, e.ename FROM -dept@oralink d LEFT OUTER JOIN emp@oralink e ON d.deptno = e.deptno ORDER -BY 1, 3; +dept@oralink d LEFT OUTER JOIN emp@oralink e ON d.deptno = e.deptno ORDER BY 1, 3; QUERY PLAN ----------------------------------------------------------------------------- ----- +-------------------------------------------------------------------------------- Foreign Scan Output: d.deptno, d.dname, e.empno, e.ename Relations: (_dblink_dept_1 d) LEFT JOIN (_dblink_emp_2 e) - Remote Query: SELECT r1.deptno, r1.dname, r2.empno, r2.ename FROM (dept - r1 LEFT JOIN emp r2 ON ((r1.deptno = r2.deptno))) ORDER BY r1.deptno ASC - NULLS LAST, r2.empno ASC NULLS LAST + Remote Query: SELECT r1.deptno, r1.dname, r2.empno, r2.ename FROM (dept r1 LEFT JOIN +emp r2 ON ((r1.deptno = r2.deptno))) ORDER BY r1.deptno ASC NULLS LAST, r2.empno ASC NULLS LAST (4 rows) ``` @@ -515,38 +509,22 @@ The following is a query on the foreign table: ```text SELECT * FROM emp_ora; - empno | ename | job | mgr | hiredate | sal | comm - | deptno --------+--------+-----------+------+--------------------+---------+--------- -+-------- - 7369 | SMITH | CLERK | 7902 | 17-DEC-80 00:00:00 | 800.00 | - | 20 - 7499 | ALLEN | SALESMAN | 7698 | 20-FEB-81 00:00:00 | 1600.00 | 300.00 - | 30 - 7521 | WARD | SALESMAN | 7698 | 22-FEB-81 00:00:00 | 1250.00 | 500.00 - | 30 - 7566 | JONES | MANAGER | 7839 | 02-APR-81 00:00:00 | 2975.00 | - | 20 - 7654 | MARTIN | SALESMAN | 7698 | 28-SEP-81 00:00:00 | 1250.00 | 1400.00 - | 30 - 7698 | BLAKE | MANAGER | 7839 | 01-MAY-81 00:00:00 | 2850.00 | - | 30 - 7782 | CLARK | MANAGER | 7839 | 09-JUN-81 00:00:00 | 2450.00 | - | 10 - 7788 | SCOTT | ANALYST | 7566 | 19-APR-87 00:00:00 | 3000.00 | - | 20 - 7839 | KING | PRESIDENT | | 17-NOV-81 00:00:00 | 5000.00 | - | 10 - 7844 | TURNER | SALESMAN | 7698 | 08-SEP-81 00:00:00 | 1500.00 | 0.00 - | 30 - 7876 | ADAMS | CLERK | 7788 | 23-MAY-87 00:00:00 | 1100.00 | - | 20 - 7900 | JAMES | CLERK | 7698 | 03-DEC-81 00:00:00 | 950.00 | - | 30 - 7902 | FORD | ANALYST | 7566 | 03-DEC-81 00:00:00 | 3000.00 | - | 20 - 7934 | MILLER | CLERK | 7782 | 23-JAN-82 00:00:00 | 1300.00 | - | 10 + empno | ename | job | mgr | hiredate | sal | comm | deptno +-------+--------+-----------+------+--------------------+---------+---------+-------- + 7369 | SMITH | CLERK | 7902 | 17-DEC-80 00:00:00 | 800.00 | | 20 + 7499 | ALLEN | SALESMAN | 7698 | 20-FEB-81 00:00:00 | 1600.00 | 300.00 | 30 + 7521 | WARD | SALESMAN | 7698 | 22-FEB-81 00:00:00 | 1250.00 | 500.00 | 30 + 7566 | JONES | MANAGER | 7839 | 02-APR-81 00:00:00 | 2975.00 | | 20 + 7654 | MARTIN | SALESMAN | 7698 | 28-SEP-81 00:00:00 | 1250.00 | 1400.00 | 30 + 7698 | BLAKE | MANAGER | 7839 | 01-MAY-81 00:00:00 | 2850.00 | | 30 + 7782 | CLARK | MANAGER | 7839 | 09-JUN-81 00:00:00 | 2450.00 | | 10 + 7788 | SCOTT | ANALYST | 7566 | 19-APR-87 00:00:00 | 3000.00 | | 20 + 7839 | KING | PRESIDENT | | 17-NOV-81 00:00:00 | 5000.00 | | 10 + 7844 | TURNER | SALESMAN | 7698 | 08-SEP-81 00:00:00 | 1500.00 | 0.00 | 30 + 7876 | ADAMS | CLERK | 7788 | 23-MAY-87 00:00:00 | 1100.00 | | 20 + 7900 | JAMES | CLERK | 7698 | 03-DEC-81 00:00:00 | 950.00 | | 30 + 7902 | FORD | ANALYST | 7566 | 03-DEC-81 00:00:00 | 3000.00 | | 20 + 7934 | MILLER | CLERK | 7782 | 23-JAN-82 00:00:00 | 1300.00 | | 10 (14 rows) ``` @@ -556,8 +534,7 @@ In contrast, the following is a query on the same remote table, but using the da SELECT * FROM emp@oralink; empno | ename | job | mgr | hiredate | sal | comm | deptno --------+--------+-----------+------+--------------------+------+------+----- ---- +-------+--------+-----------+------+--------------------+------+------+-------- 7369 | SMITH | CLERK | 7902 | 17-DEC-80 00:00:00 | 800 | | 20 7499 | ALLEN | SALESMAN | 7698 | 20-FEB-81 00:00:00 | 1600 | 300 | 30 7521 | WARD | SALESMAN | 7698 | 22-FEB-81 00:00:00 | 1250 | 500 | 30 diff --git a/product_docs/docs/epas/13/epas_compat_sql/25_create_materialized_view.mdx b/product_docs/docs/epas/13/epas_compat_sql/25_create_materialized_view.mdx index 4982382ca0e..b94e16e5a13 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/25_create_materialized_view.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/25_create_materialized_view.mdx @@ -73,8 +73,7 @@ For more information about the Postgres `REFRESH MATERIALIZED VIEW` command, see The following statement creates a materialized view named `dept_30`: ```text -CREATE MATERIALIZED VIEW dept_30 BUILD IMMEDIATE AS SELECT * FROM emp -WHERE deptno = 30; +CREATE MATERIALIZED VIEW dept_30 BUILD IMMEDIATE AS SELECT * FROM emp WHERE deptno = 30; ``` The view contains information retrieved from the `emp` table about any employee that works in department `30`. diff --git a/product_docs/docs/epas/13/epas_compat_sql/26_create_package.mdx b/product_docs/docs/epas/13/epas_compat_sql/26_create_package.mdx index 75329179368..2a4a0a19a5e 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/26_create_package.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/26_create_package.mdx @@ -20,13 +20,13 @@ CREATE [ OR REPLACE ] PACKAGE { IS | AS } [ ; ] [, ...] [ { PROCEDURE - [ ( [ IN | IN OUT | OUT ] [ DEFAULT value ] + [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, ...]) ]; [ PRAGMA RESTRICT_REFERENCES(, { RNDS | RNPS | TRUST | WNDS | WNPS } [, ... ] ); ] | FUNCTION - [ ( [ IN | IN OUT | OUT ] [ DEFAULT value ] + [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, ...]) ] RETURN [ DETERMINISTIC ]; [ PRAGMA RESTRICT_REFERENCES(, diff --git a/product_docs/docs/epas/13/epas_compat_sql/27_create_package_body.mdx b/product_docs/docs/epas/13/epas_compat_sql/27_create_package_body.mdx index f001078a243..a2fd8515736 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/27_create_package_body.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/27_create_package_body.mdx @@ -19,8 +19,7 @@ CREATE [ OR REPLACE ] PACKAGE BODY { IS | AS } [ declaration; ] | [ forward_declaration ] [, ...] [ { PROCEDURE - [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, - ...]) ] + [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, ...]) ] [ STRICT ] [ LEAKPROOF ] [ PARALLEL { UNSAFE | RESTRICTED | SAFE } ] @@ -32,8 +31,7 @@ CREATE [ OR REPLACE ] PACKAGE BODY END [ ]; | FUNCTION - [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, - ...]) ] + [ ( [ IN | IN OUT | OUT ] [ DEFAULT ] [, ...]) ] RETURN [ DETERMINISTIC ] [ STRICT ] [ LEAKPROOF ] diff --git a/product_docs/docs/epas/13/epas_compat_sql/30_create_queue.mdx b/product_docs/docs/epas/13/epas_compat_sql/30_create_queue.mdx index 65f5ca22a2f..fa2f05bcacb 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/30_create_queue.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/30_create_queue.mdx @@ -19,8 +19,7 @@ Advanced Server includes extra syntax (not offered by Oracle) with the `CREATE Q Use `CREATE QUEUE` to define a new queue: ```text -CREATE QUEUE QUEUE TABLE [ ( { } [, ... ] ) ] +CREATE QUEUE QUEUE TABLE [ ( { } [, ... ] ) ] ``` where `option_name` and the corresponding `option_value` can be: @@ -64,8 +63,7 @@ Use `DROP QUEUE` to remove a queue. The following command creates a queue named `work_order` that is associated with a queue table named `work_order_table`: ```text -CREATE QUEUE work_order QUEUE TABLE work_order_table (RETRIES 5, RETRYDELAY -2); +CREATE QUEUE work_order QUEUE TABLE work_order_table (RETRIES 5, RETRYDELAY 2); ``` The server will allow 5 attempts to remove a message from the queue, and enforce a retry delay of 2 seconds between attempts. diff --git a/product_docs/docs/epas/13/epas_compat_sql/31_create_queue_table.mdx b/product_docs/docs/epas/13/epas_compat_sql/31_create_queue_table.mdx index b4a1c810423..e1c39e39e0e 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/31_create_queue_table.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/31_create_queue_table.mdx @@ -19,8 +19,7 @@ Advanced Server includes extra syntax (not offered by Oracle) with the `CREATE Q Use `CREATE QUEUE TABLE` to define a new queue table: ```text -CREATE QUEUE TABLE OF [ ( { } -[, ... ] ) ] +CREATE QUEUE TABLE OF [ ( { } [, ... ] ) ] ``` where `option_name` and the corresponding `option_value` can be: @@ -101,8 +100,7 @@ CREATE TYPE work_order AS (name VARCHAR2, project TEXT, completed BOOLEAN); The following command uses the `work_order` type to create a queue table named `work_order_table`: ```text -CREATE QUEUE TABLE work_order_table OF work_order (sort_list (enq_time, -priority)); +CREATE QUEUE TABLE work_order_table OF work_order (sort_list (enq_time, priority)); ``` **See Also** diff --git a/product_docs/docs/epas/13/epas_compat_sql/42_create_user_role_profile_management_clauses.mdx b/product_docs/docs/epas/13/epas_compat_sql/42_create_user_role_profile_management_clauses.mdx index ae6b723a878..0411cbce813 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/42_create_user_role_profile_management_clauses.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/42_create_user_role_profile_management_clauses.mdx @@ -21,7 +21,7 @@ CREATE USER|ROLE [[WITH] option […]] where `option` can be the following compatible clauses: ```text -PROFILE + PROFILE | ACCOUNT {LOCK|UNLOCK} | PASSWORD EXPIRE [AT ''] ``` @@ -88,4 +88,4 @@ CREATE ROLE john PROFILE acctg_profile LOGIN PASSWORD “1safepwd”; **See Also** -[ALTER USER\|ROLE… PROFILE MANAGEMENT CLAUSES](16_alter_user_role_profile_management_clauses/#alter_user_role_profile_management_clauses) +[ALTER USER|ROLE… PROFILE MANAGEMENT CLAUSES](16_alter_user_role_profile_management_clauses/#alter_user_role_profile_management_clauses) diff --git a/product_docs/docs/epas/13/epas_compat_sql/45_drop_public_database_link.mdx b/product_docs/docs/epas/13/epas_compat_sql/45_drop_public_database_link.mdx index 7f8b5361cb3..64eb6922c4c 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/45_drop_public_database_link.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/45_drop_public_database_link.mdx @@ -15,7 +15,7 @@ legacyRedirectsGenerated: **Synopsis** ```text -DROP [ PUBLIC ] DATABASE LINK name +DROP [ PUBLIC ] DATABASE LINK ``` **Description** diff --git a/product_docs/docs/epas/13/epas_compat_sql/70_savepoint.mdx b/product_docs/docs/epas/13/epas_compat_sql/70_savepoint.mdx index ae5e245ce29..bb08ebfdd6b 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/70_savepoint.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/70_savepoint.mdx @@ -51,10 +51,8 @@ SAVEPOINT depts; INSERT INTO emp (empno, ename, deptno) VALUES (9001, 'JONES', 50); INSERT INTO emp (empno, ename, deptno) VALUES (9002, 'ALICE', 50); SAVEPOINT emps; -INSERT INTO jobhist VALUES (9001,'17-SEP-07',NULL,'CLERK',800,NULL,50,'New -Hire'); -INSERT INTO jobhist VALUES (9002,'20-SEP-07',NULL,'CLERK',700,NULL,50,'New -Hire'); +INSERT INTO jobhist VALUES (9001,'17-SEP-07',NULL,'CLERK',800,NULL,50,'New Hire'); +INSERT INTO jobhist VALUES (9002,'20-SEP-07',NULL,'CLERK',700,NULL,50,'New Hire'); ROLLBACK TO depts; COMMIT; ``` diff --git a/product_docs/docs/epas/13/epas_compat_sql/74_set_transaction.mdx b/product_docs/docs/epas/13/epas_compat_sql/74_set_transaction.mdx index 1288d25b1bb..270b215500e 100644 --- a/product_docs/docs/epas/13/epas_compat_sql/74_set_transaction.mdx +++ b/product_docs/docs/epas/13/epas_compat_sql/74_set_transaction.mdx @@ -22,7 +22,6 @@ where `transaction_mode` is one of: ``` ISOLATION LEVEL { SERIALIZABLE | READ COMMITTED } - READ WRITE | READ ONLY ``` From 4001d988d321b6a2b27662ebd55e7af0b66295c0 Mon Sep 17 00:00:00 2001 From: Rasika03 Date: Mon, 19 Apr 2021 15:02:01 +0530 Subject: [PATCH 03/21] content/eprs/6.2/fix_table Former-commit-id: f20b1b9e61f61d023856e6a65272802553f5a03a --- .../06_conflict_resolution/02_conflict_types.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx b/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx index 2f8e1a09117..bc07dfa93e3 100644 --- a/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx +++ b/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx @@ -29,7 +29,6 @@ The following table illustrates an example of a uniqueness conflict. | Timestamp `t1`
| Action

**Node A:** INSERT INTO addrbook (name, address) VALUES ('A', 'ADDR A');

**Node A:** INSERT INTO addrbook (name, address) VALUES ('B', 'ADDR B');
| Primary node A

id = 1, name = 'A', address = 'ADDR A'

id = 2, name = 'B', address = 'ADDR B'
| Primary node B
| | `t2`

| **Node B:** INSERT INTO addrbook (name, address) VALUES ('C', 'ADDR C');

| id = 1, name = 'A', address = 'ADDR A'

id = 2, name = 'B', address = 'ADDR B'
| id = 1, name = 'C', address = 'ADDR C'

| `t3`

| Synchronization pushes Node A changes to Node B | |Row change for INSERT tx id = 1 on Node A results in unique key conflict on Node B

id = 1, name = 'C', address = 'ADDR C'

id = 1, name = 'A', address = 'ADDR A' -id = 1, name = 'A', address = 'ADDR A' The following table illustrates an example of an update conflict. From 9d8fe034aff697de3bbba4774dddb1035092df51 Mon Sep 17 00:00:00 2001 From: Rasika03 Date: Mon, 19 Apr 2021 15:15:45 +0530 Subject: [PATCH 04/21] Merge branch 'develop' of github.com:enterprisedb/docs into content/eprs/6.2/fix_table Former-commit-id: eb91cc8a72b381bb85eb97286de103ecea304ff6 From b7c550e68db2eb4e0302397ecb7298c020182343 Mon Sep 17 00:00:00 2001 From: Rasika03 Date: Mon, 19 Apr 2021 15:18:02 +0530 Subject: [PATCH 05/21] Update 02_conflict_types.mdx Former-commit-id: 9625c4eaeceff3fe8f1e303a274f8a3ef5b50976 --- .../06_conflict_resolution/02_conflict_types.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx b/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx index bc07dfa93e3..4c315f2c6a9 100644 --- a/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx +++ b/product_docs/docs/eprs/6.2/06_mmr_operation/06_conflict_resolution/02_conflict_types.mdx @@ -52,5 +52,5 @@ The following table illustrates an example of a delete conflict. | Timestamp `t0` | Action | Primary node A

id = 2, address = 'ADDR B' | Primary node B

id = 2, address = 'ADDR B' | | `t1` | **Node A:** UPDATE addrbook SET address = 'ADDR B1' WHERE id = 2; | id = 2, address = **'ADDR B1'** | id = 2, address = 'ADDR B' | | `t2` | **Node B:** DELETE FROM addrbook WHERE id = 2; | id = 2, address = 'ADDR B1' | **Row with id = 2 deleted** | -| `t3` | Synchronization pushes Node A changes to Node B | id = 2, address = 'ADDR B1' | **The row with id = 2 is already deleted on target Node B, hence update from Node A fails.** | +| `t3` | Synchronization pushes Node A changes to Node B | | **The row with id = 2 is already deleted on target Node B, hence update from Node A fails.** | From 59b35a2d88b31cfeb64b233d6dd48b5a6f636580 Mon Sep 17 00:00:00 2001 From: sheetal Date: Mon, 19 Apr 2021 17:25:58 +0530 Subject: [PATCH 06/21] Minor tweaks to Linux guide Former-commit-id: 22531d354df0f6fa4fb9433de897faaa7eb2c81c --- .../02_supported_platforms.mdx | 2 +- ...age_manager_to_install_advanced_server.mdx | 104 +++++++++--------- .../04_installing_troubleshooting.mdx | 2 +- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/product_docs/docs/epas/13/epas_inst_linux/02_supported_platforms.mdx b/product_docs/docs/epas/13/epas_inst_linux/02_supported_platforms.mdx index 155f5d0c574..5bce467fea7 100644 --- a/product_docs/docs/epas/13/epas_inst_linux/02_supported_platforms.mdx +++ b/product_docs/docs/epas/13/epas_inst_linux/02_supported_platforms.mdx @@ -17,4 +17,4 @@ For information about the platforms and versions supported by Advanced Server, v 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 or 8.x only. LLVM JIT is not supported on PPC-LE 64 running RHEL or CentOS 7.x. +- The LLVM JIT package is supported on RHEL or CentOS 7.x and 8.x only. LLVM JIT is not supported on PPC-LE 64 running RHEL or CentOS 7.x. diff --git a/product_docs/docs/epas/13/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server.mdx b/product_docs/docs/epas/13/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server.mdx index 426fab07e1f..3203d213400 100644 --- a/product_docs/docs/epas/13/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server.mdx +++ b/product_docs/docs/epas/13/epas_inst_linux/03_using_a_package_manager_to_install_advanced_server.mdx @@ -407,13 +407,13 @@ The tables that follow list the RPM packages that are available from EDB. You ca On RHEL or CentOS 7: ```text -yum search package +yum search ``` On RHEL or CentOS 8: ```text -dnf search package +dnf search ``` Where `package` is the search term that specifies the name (or partial name) of a package. @@ -461,7 +461,7 @@ The following table lists the packages for Advanced Server 13 supporting compone | Package Name | Package Installs | | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| edb-pgpool41
| This package contains the pgPool-II installer. The pgpool-II utility package acts as a middleman between client applications and Server database servers. pgpool-II functionality is transparent to client applications; client applications connect to pgpool-II instead of directly to Advanced Server, and pgpool-II manages the connection. EDB supports the following pgpool-II features:- Load balancing
- Connection pooling
- High availability
- Connection limits


pgpool-II runs as a service on Linux systems, and is not supported on Windows systems.
| +| edb-pgpool41 | This package contains the pgPool-II installer. The pgpool-II utility package acts as a middleman between client applications and Server database servers. pgpool-II functionality is transparent to client applications; client applications connect to pgpool-II instead of directly to Advanced Server, and pgpool-II manages the connection. EDB supports the following pgpool-II features:
- Load balancing
- Connection pooling
- High availability
- Connection limits


pgpool-II runs as a service on Linux systems, and is not supported on Windows systems.
| | edb-jdbc | The `edb-jdbc` package includes the .jar files needed for Java programs to access an Advanced Server database. | | edb-migrationtoolkit | The `edb-migrationtoolkit` package installs Migration Toolkit, facilitating migration to an Advanced Server database from Oracle, PostgreSQL, MySQL, Sybase and SQL Server. | | edb-oci | The `edb-oci` package installs the EDB Open Client library, allowing applications that use the Oracle Call Interface API to connect to an Advanced Server database. | @@ -638,51 +638,51 @@ apt list edb* Please note: The available package list is subject to change. -| Package Name | Package Installs | -| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| edb-as13-server | Installs core components of the Advanced Server database server. | -| edb-as13-server-client | Includes client programs and utilities that you can use to access and manage Advanced Server. | -| edb-as13-server-core | Includes the programs needed to create the core functionality behind the Advanced Server database. | -| edb-as13-server-dev | The `edb-as13-server-dev` package contains the header files and libraries needed to compile C or C++ applications that directly interact with an Advanced Server server and the ecpg or ecpgPlus C preprocessor. | -| edb-as13-server-doc | Installs the readme file. | -| edb-as13-server-edb-modules | Installs supporting modules for Advanced Server. | -| edb-as13-server-indexadvisor | Installs Advanced Server's Index Advisor feature. The Index Advisor utility helps determine which columns you should index to improve performance in a given workload. | -| edb-as13-server-pldebugger | This package implements an API for debugging PL/pgSQL functions on Advanced Server. | -| edb-as13-server-plpython3 | Installs the PL/Python procedural language for Advanced Server. Please note that the PL/Python2 support will no longer be available from Advanced Server version 14 onwards. | -| edb-as13-server-pltcl | Installs the PL/Tcl procedural language for Advanced Server. Please note that the `edb-as13-pltcl` package is dependent on the platform-supplied version of TCL. | -| edb-as13-server-sqlprofiler | This package installs Advanced Server's SQL Profiler feature. SQL Profiler helps identify and optimize SQL code. | -| edb-as13-server-sqlprotect | This package installs Advanced Server's SQL Protect feature. SQL Protect provides protection against SQL injection attacks. | -| edb-as13-server-sslutils | This package installs functionality that provides SSL support. | -| edb-as13-server-cloneschema | This package installs the EDB Clone Schema extension. For more information about EDB Clone Schema, see the EDB Postgres Advanced Server Guide. | -| edb-as13-server-parallel-clone | This package installs functionality that supports the EDB Clone Schema extension. | -| edb-as13-edbplus | The `edb-edbplus` package contains the files required to install the EDB\*Plus command line client. EDB\*Plus commands are compatible with Oracle's SQL\*Plus. | -| edb-as13-pgsnmpd | SNMP (Simple Network Management Protocol) is a protocol that allows you to supervise an apparatus connected to the network. | -| edb-as13-pgadmin4 | pgAdmin 4 provides a graphical management interface for Advanced Server and PostgreSQL databases. | -| edb-as13-pgadmin-apache | Apache support module for pgAdmin 4. | -| edb-as13-pgadmin4-common | pgAdmin 4 supporting files. | -| edb-as13-pgadmin4-doc | pgAdmin 4 documentation module. | -| edb-as13-pgpool41-extensions | This package creates pgPool extensions required by the server. | -| edb-as13-postgis3 | This package installs POSTGIS support for geospatial data. | -| edb-as13-postgis3-scripts | This package installs POSTGIS support for geospatial data. | -| edb-as13-postgis3-doc | This package provides support for POSTGIS. | -| edb-as13-postgis3-gui | This package provides a GUI for POSTGIS. | -| edb-as13-postgis-jdbc | This package provides support for POSTGIS. | -| edb-as13-postgis-scripts | This package provides support for POSTGIS. | -| edb-as13-pgagent | This package installs pgAgent; pgAgent is a job scheduler for Advanced Server. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see [Installation Troubleshooting](04_installing_troubleshooting/#installing_troubleshooting). | -| edb-as13-slony-replication | This package installs the meta RPM for Slony-I. | -| edb-as13-slony-replication-core | This package contains core portions of Slony-I to build a primary-standby system that includes all features and capabilities needed to replicate large databases to a reasonably limited number of standby systems. | -| edb-as13-slony-replication-docs | This package contains the Slony project documentation (in pdf form). | -| edb-as13-slony-replication-tools | This package contains the Slony altperl tools and utilities that are useful when deploying Slony replication environments. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see [Installation Troubleshooting](04_installing_troubleshooting/#installing_troubleshooting). | -| edb-as13-hdfs-fdw | The Hadoop Data Adapter allows you to query and join data from Hadoop environments with your Postgres or Advanced Server instances. It is YARN Ready certified with HortonWorks, and provides optimizations for performance with predicate pushdown support. | -| edb-as13-hdfs-fdw-doc | Documentation for the Hadoop Data Adapter. | -| edb-as13-mongo-fdw | This EDB Advanced Server extension implements a Foreign Data Wrapper for MongoDB. | -| edb-as13-mongo-fdw-doc | Documentation for the Foreign Data Wrapper for MongoDB. | -| edb-as13-mysql-fdw | This EDB Advanced Server extension implements a Foreign Data Wrapper for MySQL. | -| edb-pgpool41 | This package contains the pgPool-II installer. The pgpool-II utility package acts as a middleman between client applications and Server database servers. pgpool-II functionality is transparent to client applications; client applications connect to pgpool-II instead of directly to Advanced Server, and pgpool-II manages the connection. EDB supports the following pgpool-II features:- Load balancing - Connection pooling - High availability - Connection limits

pgpool-II runs as a service on Linux systems, and is not supported on Windows systems. | -| edb-jdbc | The `edb-jdbc` package includes the .jar files needed for Java programs to access an Advanced Server database. | -| edb-migrationtoolkit | The `edb-migrationtoolkit` package installs Migration Toolkit, facilitating migration to an Advanced Server database from Oracle, PostgreSQL, MySQL, Sybase and SQL Server. | -| edb-pgbouncer114 | This package contains PgBouncer (a lightweight connection pooler). This package requires the libevent package. | -| edb-efm40 | This package installs EDB Failover Manager that adds fault tolerance to database clusters to minimize downtime when a primary database fails by keeping data online in high availability configurations. | +| Package Name | Package Installs | +| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| edb-as13-server | Installs core components of the Advanced Server database server. | +| edb-as13-server-client | Includes client programs and utilities that you can use to access and manage Advanced Server. | +| edb-as13-server-core | Includes the programs needed to create the core functionality behind the Advanced Server database. | +| edb-as13-server-dev | The `edb-as13-server-dev` package contains the header files and libraries needed to compile C or C++ applications that directly interact with an Advanced Server server and the ecpg or ecpgPlus C preprocessor. | +| edb-as13-server-doc | Installs the readme file. | +| edb-as13-server-edb-modules | Installs supporting modules for Advanced Server. | +| edb-as13-server-indexadvisor | Installs Advanced Server's Index Advisor feature. The Index Advisor utility helps determine which columns you should index to improve performance in a given workload. | +| edb-as13-server-pldebugger | This package implements an API for debugging PL/pgSQL functions on Advanced Server. | +| edb-as13-server-plpython3 | Installs the PL/Python procedural language for Advanced Server. Please note that the PL/Python2 support will no longer be available from Advanced Server version 14 onwards. | +| edb-as13-server-pltcl | Installs the PL/Tcl procedural language for Advanced Server. Please note that the `edb-as13-pltcl` package is dependent on the platform-supplied version of TCL. | +| edb-as13-server-sqlprofiler | This package installs Advanced Server's SQL Profiler feature. SQL Profiler helps identify and optimize SQL code. | +| edb-as13-server-sqlprotect | This package installs Advanced Server's SQL Protect feature. SQL Protect provides protection against SQL injection attacks. | +| edb-as13-server-sslutils | This package installs functionality that provides SSL support. | +| edb-as13-server-cloneschema | This package installs the EDB Clone Schema extension. For more information about EDB Clone Schema, see the EDB Postgres Advanced Server Guide. | +| edb-as13-server-parallel-clone | This package installs functionality that supports the EDB Clone Schema extension. | +| edb-as13-edbplus | The `edb-edbplus` package contains the files required to install the EDB\*Plus command line client. EDB\*Plus commands are compatible with Oracle's SQL\*Plus. | +| edb-as13-pgsnmpd | SNMP (Simple Network Management Protocol) is a protocol that allows you to supervise an apparatus connected to the network. | +| edb-as13-pgadmin4 | pgAdmin 4 provides a graphical management interface for Advanced Server and PostgreSQL databases. | +| edb-as13-pgadmin-apache | Apache support module for pgAdmin 4. | +| edb-as13-pgadmin4-common | pgAdmin 4 supporting files. | +| edb-as13-pgadmin4-doc | pgAdmin 4 documentation module. | +| edb-as13-pgpool41-extensions | This package creates pgPool extensions required by the server. | +| edb-as13-postgis3 | This package installs POSTGIS support for geospatial data. | +| edb-as13-postgis3-scripts | This package installs POSTGIS support for geospatial data. | +| edb-as13-postgis3-doc | This package provides support for POSTGIS. | +| edb-as13-postgis3-gui | This package provides a GUI for POSTGIS. | +| edb-as13-postgis-jdbc | This package provides support for POSTGIS. | +| edb-as13-postgis-scripts | This package provides support for POSTGIS. | +| edb-as13-pgagent | This package installs pgAgent; pgAgent is a job scheduler for Advanced Server. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see [Installation Troubleshooting](04_installing_troubleshooting/#installing_troubleshooting). | +| edb-as13-slony-replication | This package installs the meta RPM for Slony-I. | +| edb-as13-slony-replication-core | This package contains core portions of Slony-I to build a primary-standby system that includes all features and capabilities needed to replicate large databases to a reasonably limited number of standby systems. | +| edb-as13-slony-replication-docs | This package contains the Slony project documentation (in pdf form). | +| edb-as13-slony-replication-tools | This package contains the Slony altperl tools and utilities that are useful when deploying Slony replication environments. Before installing this package, you must install EPEL; for detailed information about installing EPEL, see [Installation Troubleshooting](04_installing_troubleshooting/#installing_troubleshooting). | +| edb-as13-hdfs-fdw | The Hadoop Data Adapter allows you to query and join data from Hadoop environments with your Postgres or Advanced Server instances. It is YARN Ready certified with HortonWorks, and provides optimizations for performance with predicate pushdown support. | +| edb-as13-hdfs-fdw-doc | Documentation for the Hadoop Data Adapter. | +| edb-as13-mongo-fdw | This EDB Advanced Server extension implements a Foreign Data Wrapper for MongoDB. | +| edb-as13-mongo-fdw-doc | Documentation for the Foreign Data Wrapper for MongoDB. | +| edb-as13-mysql-fdw | This EDB Advanced Server extension implements a Foreign Data Wrapper for MySQL. | +| edb-pgpool41 | This package contains the pgPool-II installer. The pgpool-II utility package acts as a middleman between client applications and Server database servers. pgpool-II functionality is transparent to client applications; client applications connect to pgpool-II instead of directly to Advanced Server, and pgpool-II manages the connection. EDB supports the following pgpool-II features:
- Load balancing
- Connection pooling
- High availability
- Connection limits


pgpool-II runs as a service on Linux systems, and is not supported on Windows systems.
| +| edb-jdbc | The `edb-jdbc` package includes the .jar files needed for Java programs to access an Advanced Server database. | +| edb-migrationtoolkit | The `edb-migrationtoolkit` package installs Migration Toolkit, facilitating migration to an Advanced Server database from Oracle, PostgreSQL, MySQL, Sybase and SQL Server. | +| edb-pgbouncer114 | This package contains PgBouncer (a lightweight connection pooler). This package requires the libevent package. | +| edb-efm40 | This package installs EDB Failover Manager that adds fault tolerance to database clusters to minimize downtime when a primary database fails by keeping data online in high availability configurations. | @@ -1285,25 +1285,25 @@ To create and use a local repository, you must: - Install your preferred webserver on the host that will act as your local repository, and ensure that the repository directory is accessible to the other servers on your network. -- On each isolated database server, configure `yum` or `dnf` to pull updates from the mirrored repository on your local network. For example, you might create a repository configuration file called `/etc/yum.repos.d/edb repo` with connection information that specifies: +- On each isolated database server, configure `yum` or `dnf` to pull updates from the mirrored repository on your local network. For example, you might create a repository configuration file called `/etc/yum.repos.d/edb-repo` with connection information that specifies: ```text [edbas13] name=EnterpriseDB Advanced Server 13 - baseurl=https:yum.your_domain.com/edbas13 + baseurl=https://yum.your_domain.com/edbas13 enabled=1 gpgcheck=0 ``` After specifying the location and connection information for your local repository, you can use `yum` or `dnf` commands to install Advanced Server and its supporting components on the isolated servers. For example: -- On RHEL or CentOS 7.x: +- On RHEL or CentOS 7: ```text yum -y install edb-as13-server ``` -- On RHEL or CentOS 8.x: +- On RHEL or CentOS 8: ```text dnf -y install edb-as13-server diff --git a/product_docs/docs/epas/13/epas_inst_linux/04_installing_troubleshooting.mdx b/product_docs/docs/epas/13/epas_inst_linux/04_installing_troubleshooting.mdx index b5c2e30ac41..81de9f1960e 100644 --- a/product_docs/docs/epas/13/epas_inst_linux/04_installing_troubleshooting.mdx +++ b/product_docs/docs/epas/13/epas_inst_linux/04_installing_troubleshooting.mdx @@ -24,7 +24,7 @@ If you encounter a similar message, you should confirm that the data directory i **Difficulty Installing the EPEL Release Package** -If you encounter difficulty when installing the `EPEL` release package, you can use the following command to install the `epel-release` package on RHEL or CentOS 7 and 8 platform: +If you encounter difficulty when installing the `EPEL` release package, you can use the following command to install the `epel-release` package on RHEL or CentOS 7.x and 8.x: ```text yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm From b9b8512fbcfcf75b1c0ae4d8246feda828c6d197 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Mon, 19 Apr 2021 19:24:54 +0530 Subject: [PATCH 07/21] Updated PEM 7.16 Linux Installation guide Updated the screenshots and content of PEM Linux Installation guide 7.16 Former-commit-id: 32fab889a3c74c32e41b0e4e3f9284343834858c --- .../pem_inst_guide_linux/01_whats_new.mdx | 33 ++++++++++--------- .../02_pem_hardware_software_requirements.mdx | 6 ++-- .../03_pem_architecture.mdx | 14 +++----- ...rerequisites_for_installing_pem_server.mdx | 8 ++--- ...rver_and_apache_web_server_preferences.mdx | 8 ++--- .../03_installing_pem_server_on_linux.mdx | 16 ++++----- ...05_configuring_the_pem_server_on_linux.mdx | 7 ++-- .../06_installing_pem_agent_on_linux.mdx | 8 ++--- .../05_the_pem_web_interface.mdx | 2 +- 9 files changed, 48 insertions(+), 54 deletions(-) diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/01_whats_new.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/01_whats_new.mdx index b86a17720a6..c01cc33a272 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/01_whats_new.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/01_whats_new.mdx @@ -2,20 +2,21 @@ title: "What's New" --- -The following changes have been made to Postgres Enterprise Manager to create version 8.0.1: +The following features have been added to Postgres Enterprise Manager 7.16: -Improved the overall performance, usability, and stability of the product by: - -- Allowing the dash (-) character in the superuser name that is provided during configuration. -- Gracefully closing the operating system resources during batch probe and command execution to avoid errors. -- Improved support for unicode string handling in pemAgent. -- Fixed a regression restoring BART backup when agent is not bound with the BART server. -- In addition to the above-listed items, a few other minor bugs have also been fixed. - -PEM 8.0.1 provides an option to hide or unhide the Dashboard, Statistics, Dependents, and Dependencies tabs. - -Features and Functionalities removed in recent versions of PEM: - -- PEM 8.0 and later is not supported on CentOS/RHEL 6.x. -- EDB ARK UI Management is not supported by PEM 7.16 and later. -- PEM 7.16 and later is not supported on Internet explorer version 11 and lesser. +- **Enhanced BART Integration**: You can now automate the cleanup of obsolete backups, allow incremental backups from a parent backup in a `tar.gz` format, and manage the BART scanner via the PEM Console. +- **Enhanced EFM Integration**: You can now perform cluster switchover and monitor cluster property values such as `missingnodes`, `minimumstandbys` and `membershipcoordinators` for a Failover Manager cluster via the PEM Console. +- **Auto-discovery of server clusters on Debian Platforms**: You can now quickly locate the database servers that reside on the monitored system. +- **Extended the REST API on alerts states for agents, servers, and databases**: PEM has now exposed endpoints to: + - Current threshold alert violations + - State change history on available alerts for agent, server, and database. + - Current state of all agents and monitored servers. +- **Other features and changes include**: + - You can use the same agent-id on agent registration using `--force-registration` and regenerate the certificates. + - Documentation now includes information about defining and monitoring Postgres instances on `AWS EC2` and `RDS`. + - The `Query Tool` now provides SQL Formatter support. + - The `Query Tool` toolbar now has a button to provide easy access to a new query tool window. + - The modified `Schema diff` tool will now compare two databases instead of two schemas. + - Added High Contrast (Beta) theme support. + - A warning now alerts the user when connecting to a server version that is no longer supported. + - The management user interface for EDB Ark is no longer distributed with PEM. diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/02_pem_hardware_software_requirements.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/02_pem_hardware_software_requirements.mdx index 119dc8d6bfd..cdeeddf4696 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/02_pem_hardware_software_requirements.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/02_pem_hardware_software_requirements.mdx @@ -18,11 +18,9 @@ Additional disk space is required for data storage. Please note that resource us **Platforms and Versions Support** -For information about the platforms and versions supported by PEM, visit the EnterpriseDB website at: +For information about the platforms and versions supported by PEM, visit the [EnterpriseDB website](https://www.enterprisedb.com/product-compatibility#pem). - - -**Please note**: PEM 8.0.1 is no longer supported on CentOS/RHEL/OEL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. +**Please note**: PEM 7.16 is no longer supported on CentOS/RHEL/OEL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. **Modifying the pg_hba.conf File** diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/03_pem_architecture.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/03_pem_architecture.mdx index 7b0aaddc123..2b098e87305 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/03_pem_architecture.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/03_pem_architecture.mdx @@ -13,9 +13,9 @@ Note: The term Postgres refers to either PostgreSQL or EDB Postgres Advanced Ser PEM consists of a number of individual software components; the individual components are described below. - **PEM Server** - The PEM Server is used as the data repository for monitoring data and as a server to which both Agents and Clients connect. The PEM server consists of an instance of PostgreSQL and an associated database for storage of monitoring data, and a server that provides web services. -- **PEM Agent** - The PEM Agent is responsible for executing tasks and reporting statistics from the Agent host and monitored Postgres instances to the PEM server. A single PEM Agent can monitor multiple installed instances of Postgres that reside on one or many hosts. +- **PEM Agent** - The PEM Agent is responsible for executing tasks and reporting statistics from the Agent host and the monitored Postgres instances to the PEM server. A single PEM Agent can monitor multiple installed instances of Postgres that reside on one or many hosts. - **PEM Web Client** - The PEM web interface allows you to manage and monitor Postgres servers and utilize PEM extended functionality. The web interface software is installed with the PEM server and is accessed via any supported web browser. -- **SQL Profiler** - SQL Profiler is a Postgres server plugin to record the monitoring data and query plans to be analysed by the SQL Profiler tool in PEM. This is an optional component of PEM, but the plugin must be installed into each instance of Postgres with which you wish to use the SQL Profiler tool. The SQL Profiler may be used with any supported version of an EDB distribution of a PostgreSQL server or Advanced Server (not just those managed through the PEM server). See the [PEM SQL Profiler Configuration Guide](/pem/latest/) for details and supported versions. +- **SQL Profiler** - SQL Profiler is a Postgres server plugin to record the monitoring data and query plans to be analyzed by the SQL Profiler tool in PEM. This is an optional component of PEM, but the plugin must be installed into each instance of Postgres with which you wish to use the SQL Profiler tool. The SQL Profiler may be used with any supported version of an EDB distribution of a PostgreSQL server or Advanced Server (not just those managed through the PEM server). See the [PEM SQL Profiler Configuration Guide](/pem/latest/) for details and supported versions. **PEM architecture** @@ -23,14 +23,10 @@ The following architectural diagram illustrates the relationships between the PE ![PEM Architecture](../images/pem_architecture.png) -PEM Architecture - ## The PEM Server ![PEM Server](../images/pem_server.png) -PEM Server - The PEM server consists of an instance of Postgres, an instance of the Apache web-server providing web services to the client, and a PEM Agent. PEM utilizes a server-side cryptographic plugin to generate authentication certificates. The instance of Postgres (a database server) and an instance of the Apache web-server ( HTTPD) can be on the same host or on separate hosts. @@ -39,7 +35,7 @@ The instance of Postgres (a database server) and an instance of the Apache web-s - **pem** - This schema is the core of the PEM application. It contains the definitions of configuration functions, tables, or views required by the application. - **pemdata** - This schema stores the current snapshot of the monitored data. - **pemhistory** - This schema stores the historical monitored data. -- **Apache Web Server (HTTPD)** - The PEM Web Application is deployed as a WSGI application with HTTPD to provide web services to the client. It is comprised of the following: +- **Apache Web Server (httpd)** - The PEM Web Application is deployed as a WSGI application with HTTPD to provide web services to the client. It is comprised of the following: - **Web content presentation** - The presentation layer is created by the Web Application (for example Browser, login page,..). - **Rest API** - The REST API allows integration with other apps and services. - **Database Server Administration/Management** - Database server administration and management activities like CREATE, ALTER, DROP, etc. can be performed for managed as well as unmanaged servers. @@ -49,7 +45,7 @@ The instance of Postgres (a database server) and an instance of the Apache web-s - **SQL Profiler UI Integration** - SQL Profiler generates easily analyzed traces of session content. - **Query Editor/Data View** - The Query editor allows you to query, edit, and view data. - **Debugger** - The Debugger helps you debug queries. - - **Performance Diagnostics** - Performance Diagnostics help you analyze the performance of Postgres instances. + - **Performance Diagnostics** - Performance Diagnostics helps you analyze the performance of Advanced Server. We recommend that you use a dedicated machine to host production instances of the PEM backend database. The host may be subject to high levels of data throughput, depending on the number of database servers that are being monitored and the workloads the servers are processing. @@ -57,8 +53,6 @@ We recommend that you use a dedicated machine to host production instances of th ![PEM Agent](../images/pem_agent.png) -PEM Agent - The PEM Agent is responsible for the collection of monitoring data from the machine and operating system, as well as from each of the Postgres instances to which they are bound. Each PEM Agent can monitor one physical or virtual machine and is capable of monitoring multiple database servers locally - installed on the same system, or remotely - installed on other systems. It is also responsible for executing other tasks that may be scheduled by the user (for example, server shutdowns, SQL Profiler traces, user-defined jobs). A PEM Agent is installed by default on the PEM Server along with the installation of the PEM Server. It is generally referred to as a PEM Agent on the PEM Host. Separately, the PEM Agent can also be installed on the other servers hosting the Postgres instances to be monitored using PEM. diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/01_prerequisites_for_installing_pem_server.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/01_prerequisites_for_installing_pem_server.mdx index c9072287fd7..f92f77eba3a 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/01_prerequisites_for_installing_pem_server.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/01_prerequisites_for_installing_pem_server.mdx @@ -4,11 +4,11 @@ title: "Prerequisites for Installing the PEM Server on Linux Platforms" 1. Install a backend database. - When installing a PEM server on a Linux host, you must first install a backend database cluster which will hold the `pem` database. The PEM server’s backend database may be installed via package for Linux. The backend database must be one of the following versions: + When installing a PEM server on a Linux host, you must first install a backend database cluster that will hold the `pem` database. The PEM server’s backend database may be installed via package for Linux. The backend database must be one of the following versions: - - EDB Postgres Advanced Server version 11 or above + - EDB Postgres Advanced Server version 9.6 or above - - PostgreSQL version 11 or above + - PostgreSQL version 9.6 or above For detailed information about installing an Advanced Server or PostgreSQL database, please see the product documentation at the EDB website. @@ -36,7 +36,7 @@ title: "Prerequisites for Installing the PEM Server on Linux Platforms" Where, `x` is the server version. - Please note that Debian 10 and Ubuntu 20 has increased the requirements to accept the certificates due to security reason. If a user wants to install the PEM Agent on any of the machines, they must upgrade `ssltuils` to 1.3 where 4096 bit RSA key and sha256 signature algorithm support has added.If the user does not upgrade `sslutils` to 1.3, then PEM Agent may fail to connect to the PEM backend database server, and it might log the error `ca md too weak`. + Please note that Debian 10 and Ubuntu 20 has increased the requirements to accept the certificates due to security reason. If a user wants to install the PEM Agent on any of the machines, they must upgrade `ssltuils` to 1.3 where 4096 bit RSA key and sha256 signature algorithm support have been added. If the user does not upgrade `sslutils` to 1.3, then PEM Agent may fail to connect to the PEM backend database server, and it might log the error `ca md too weak`. 5. Adjust your firewall restrictions. diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/02_installing_pem_server_and_apache_web_server_preferences.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/02_installing_pem_server_and_apache_web_server_preferences.mdx index 489048ede18..03d8aa9c8f7 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/02_installing_pem_server_and_apache_web_server_preferences.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/02_installing_pem_server_and_apache_web_server_preferences.mdx @@ -4,12 +4,12 @@ title: "Web Server Hosting Preferences" During the PEM server installation, you can specify your hosting preferences for the Apache Web Server(PEM-HTTPD): -**To install the PEM Server and Apache Web Server (PEM-HTTPD) on the same host** +- **To install the PEM Server and Apache Web Server (PEM-HTTPD) on the same host** -Follow the installation steps; while running the configuration script, select the `Web Services and Database` option to install PEM Server and Apache Web Server on the same host. + Follow the installation steps; while running the configuration script, select the `Web Services and Database` option to install PEM Server and Apache Web Server on the same host. -**To install the PEM Server and Apache Web Server (PEM-HTTPD) on separate hosts** +- **To install the PEM Server and Apache Web Server (PEM-HTTPD) on separate hosts** -Follow the installation steps on both the hosts. While running the configuration script, first configure the PEM Server host by selecting the `Database` option on first host and then configure an Apache Web Server (PEM-HTTPD) by selecting the `Web Services` option on the second host. + Follow the installation steps on both hosts. While running the configuration script, first configure the PEM Server host by selecting the `Database` option on the first host and then configure an Apache Web Server (PEM-HTTPD) by selecting the `Web Services` option on the second host. For detailed information about configuring a PEM Server, see [Configuring the PEM Server on Linux Platforms](05_configuring_the_pem_server_on_linux/#configuring_the_pem_server_on_linux). diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/03_installing_pem_server_on_linux.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/03_installing_pem_server_on_linux.mdx index a2e97939480..2205215261e 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/03_installing_pem_server_on_linux.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/03_installing_pem_server_on_linux.mdx @@ -1,5 +1,5 @@ --- -title: 'Installing the PEM Server on Linux Platforms' +title: "Installing the PEM Server on Linux Platforms" --- Before following the detailed instructions that install the PEM server on your specific platform, you must perform the prerequisite steps detailed in [Prerequisites for installing PEM Server](01_prerequisites_for_installing_pem_server/#prerequisites_for_installing_pem_server). @@ -25,13 +25,13 @@ Follow the version-specific instructions listed below to prepare your host syste ``` !!! Note - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). + - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). -**If you are a Red Hat Network user** + - **If you are a Red Hat Network user**, -You must enable the `rhel--server-extras-rpms` repository, where `x` specifies the RHEL version. + - You must enable the `rhel--server-extras-rpms` repository, where `x` specifies the RHEL version. -You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the RHEL version. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages; please see the `Red Hat Subscription Management Guide` for more information about the required repositories. + - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the RHEL version. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages; please see the `Red Hat Subscription Management Guide` for more information about the required repositories. **Install and Configure the edb.repo File** @@ -49,7 +49,7 @@ sed -i "s@:@USERNAME:PASSWORD@" /etc/yum.repos.d/edb.repo **Install the PEM Server** -After meeting the platform-specific prerequisites listed above, you can use yum or dnf to install the PEM Server: +After meeting the platform-specific prerequisites listed above, you can use `yum` or `dnf` to install the PEM Server: - On CentOS or RHEL 7.x or 8.x, you can use `yum` to install the PEM server : @@ -63,7 +63,7 @@ After meeting the platform-specific prerequisites listed above, you can use yum dnf install edb-pem ``` -If you are doing a fresh installation of the PEM Server on a CentOS or RHEL 7.x host, the installer will also install `edb-python3-mod_wsgi` packages along with the installation as per requirement of the operating system. +If you are doing a fresh installation of the PEM Server on a CentOS or RHEL 7.x host, the installer will also install `edb-python3-mod_wsgi` packages along with the installation as per the requirement of the operating system. If you are upgrading the PEM Server on a CentOS or RHEL 7.x host, the `mod_wsgi system` package will be replaced by the `edb-python3-mod_wsgi` package as per the requirement of the operating system. @@ -71,7 +71,7 @@ When you install an RPM package that is signed by a source that is not recognize During the installation, yum may encounter a dependency that it cannot resolve. If it does, it will provide a list of the required dependencies that you must manually resolve. -If you want to install PEM server on a machine that is in isolated network, you must first create PEM repository on that machine. For more information about creating PEM repository on an isolated network, see [Creating a PEM repository in an Isolated Network](04_creating_pem_repository_in_isolated_network/#creating_pem_repository_in_isolated_network). +If you want to install a PEM server on a machine that is in an isolated network, you must first create a PEM repository on that machine. For more information about creating a PEM repository on an isolated network, see [Creating a PEM repository in an Isolated Network](04_creating_pem_repository_in_isolated_network/#creating_pem_repository_in_isolated_network). After installing PEM Server using `yum` or `dnf`, you need to configure the PEM Server. For more detailed information see [Configuring the PEM Server on Linux platforms](05_configuring_the_pem_server_on_linux/#configuring_the_pem_server_on_linux). diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/05_configuring_the_pem_server_on_linux.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/05_configuring_the_pem_server_on_linux.mdx index 980aead66dd..16475b4b175 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/05_configuring_the_pem_server_on_linux.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/05_configuring_the_pem_server_on_linux.mdx @@ -39,16 +39,17 @@ When invoking the script, you can include command line options to specify config | `-t` | The installation type: Specify 1 if the configuration is for web services and backend database, 2 if you are configuring web services, or 3 if you are configuring the backend database. If you specify 3, please note that the database must reside on the local host. | | `-un` | To unregister the PEM Server. | + If you do not provide configuration properties on the command line, you will be prompted for values by the script. When you invoke the script, choose from: -1. `Web Services and Database` -Select this option if the web server and database both reside on the same host as the PEM server. +1. `Web Services and Database` -Select this option if the webserver and database both reside on the same host as the PEM server. -2. `Web Services` -Select this option if the web server resides on a different host than the PEM server. +2. `Web Services` -Select this option if the webserver resides on a different host than the PEM server. 3. `Database` -Select this option to configure the PEM backend database for use by the PEM server. Please note that the specified database must reside on the local host. !!! Note - If the web server (PEM-HTTPD) and the backend database (PEM Server) reside on separate hosts, configure the database server first (option 3), and then web services (option 2). The script will exit if the backend database is not configured before web services. + If the webserver (PEM-HTTPD) and the backend database (PEM Server) reside on separate hosts, configure the database server first (option 3), and then web services (option 2). The script will exit if the backend database is not configured before web services. After selecting a configuration option, the script will proceed to prompt you for configuration properties. When the script completes, it will create the objects required by the PEM server, or perform the configuration steps required. `1` To view script-related help, use the command: diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/06_installing_pem_agent_on_linux.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/06_installing_pem_agent_on_linux.mdx index 8e89328d0d6..abd79967246 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/06_installing_pem_agent_on_linux.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/04_installing_postgres_enterprise_manager/06_installing_pem_agent_on_linux.mdx @@ -23,13 +23,13 @@ On a CentOS or RHEL system, you can use the `yum` package manager or `dnf` comma ``` !!! Note - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). + - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). -**If you are a Red Hat Network user** + - **If you are a Red Hat Network user** -You must enable the `rhel--server-extras-rpms` repository, where `x` specifies the RHEL version. + - You must enable the `rhel--server-extras-rpms` repository, where `x` specifies the RHEL version. -You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the RHEL version. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages; please see the `Red Hat Subscription Management Guide` for more information about the required repositories. + - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the RHEL version. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages; please see the `Red Hat Subscription Management Guide` for more information about the required repositories. **Install and Configure the edb.repo File** diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_linux/05_the_pem_web_interface.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_linux/05_the_pem_web_interface.mdx index 02610ff1d19..406b98916e1 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_linux/05_the_pem_web_interface.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_linux/05_the_pem_web_interface.mdx @@ -19,7 +19,7 @@ Use the fields on the `Postgres Enterprise Manager Login` window to authenticate Click the `Login` button to connect to the PEM server. -![The Global Overview Dashboard](../images/global_overview.png) +![The Global Overview](../images/global_overview.png) Before you can use the PEM web interface to manage or monitor a database server, you must *register* the server with the PEM server. When you register a server, you describe the connection to the server, provide authentication information for the connection, and specify any management preferences (optionally binding an Agent). From 0ea0580e4afe2526b9fc158ae5044fa77bbfde16 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Mon, 19 Apr 2021 21:50:00 +0530 Subject: [PATCH 08/21] Updated PEM 7.16 Windows Installation guide Updated the content of PEM 7.16 Windows Installation guide Former-commit-id: c0196f92f489accfbbce19578cfe8a6f95970c36 --- .../pem_inst_guide_windows/01_whats_new.mdx | 33 ++++++++++--------- .../02_pem_hardware_software_requirements.mdx | 24 +++++++------- .../03_pem_architecture.mdx | 6 ++-- .../01_installing_pem_server_on_windows.mdx | 14 ++++---- 4 files changed, 39 insertions(+), 38 deletions(-) diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_windows/01_whats_new.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_windows/01_whats_new.mdx index b86a17720a6..c01cc33a272 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_windows/01_whats_new.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_windows/01_whats_new.mdx @@ -2,20 +2,21 @@ title: "What's New" --- -The following changes have been made to Postgres Enterprise Manager to create version 8.0.1: +The following features have been added to Postgres Enterprise Manager 7.16: -Improved the overall performance, usability, and stability of the product by: - -- Allowing the dash (-) character in the superuser name that is provided during configuration. -- Gracefully closing the operating system resources during batch probe and command execution to avoid errors. -- Improved support for unicode string handling in pemAgent. -- Fixed a regression restoring BART backup when agent is not bound with the BART server. -- In addition to the above-listed items, a few other minor bugs have also been fixed. - -PEM 8.0.1 provides an option to hide or unhide the Dashboard, Statistics, Dependents, and Dependencies tabs. - -Features and Functionalities removed in recent versions of PEM: - -- PEM 8.0 and later is not supported on CentOS/RHEL 6.x. -- EDB ARK UI Management is not supported by PEM 7.16 and later. -- PEM 7.16 and later is not supported on Internet explorer version 11 and lesser. +- **Enhanced BART Integration**: You can now automate the cleanup of obsolete backups, allow incremental backups from a parent backup in a `tar.gz` format, and manage the BART scanner via the PEM Console. +- **Enhanced EFM Integration**: You can now perform cluster switchover and monitor cluster property values such as `missingnodes`, `minimumstandbys` and `membershipcoordinators` for a Failover Manager cluster via the PEM Console. +- **Auto-discovery of server clusters on Debian Platforms**: You can now quickly locate the database servers that reside on the monitored system. +- **Extended the REST API on alerts states for agents, servers, and databases**: PEM has now exposed endpoints to: + - Current threshold alert violations + - State change history on available alerts for agent, server, and database. + - Current state of all agents and monitored servers. +- **Other features and changes include**: + - You can use the same agent-id on agent registration using `--force-registration` and regenerate the certificates. + - Documentation now includes information about defining and monitoring Postgres instances on `AWS EC2` and `RDS`. + - The `Query Tool` now provides SQL Formatter support. + - The `Query Tool` toolbar now has a button to provide easy access to a new query tool window. + - The modified `Schema diff` tool will now compare two databases instead of two schemas. + - Added High Contrast (Beta) theme support. + - A warning now alerts the user when connecting to a server version that is no longer supported. + - The management user interface for EDB Ark is no longer distributed with PEM. diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_windows/02_pem_hardware_software_requirements.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_windows/02_pem_hardware_software_requirements.mdx index aa06c49b387..514d6c4be3b 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_windows/02_pem_hardware_software_requirements.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_windows/02_pem_hardware_software_requirements.mdx @@ -14,26 +14,26 @@ Additional disk space is required for data storage. Please note that resource us ## Software Prerequisites -**Supported Platforms and Versions** +- **Supported Platforms and Versions** -For information about the platforms and versions supported by PEM, visit the EnterpriseDB website at: + For information about the platforms and versions supported by PEM, visit the EnterpriseDB website at: - + -**Please note**: PEM 8.0.1 is no longer supported on CentOS/RHEL/OEL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. + **Please note**: PEM 7.16 is no longer supported on CentOS/RHEL/OEL 6.x platforms. It is strongly recommended that EDB products running on these platforms be migrated to a supported platform. -**Modifying the pg_hba.conf File** +- **Modifying the pg_hba.conf File** -The `pg_hba.conf` file manages connections for the Postgres server. You must ensure that the `pg_hba.conf` file on each monitored server allows connections from the PEM server, the monitoring PEM agent, and the host of the PEM-HTTPD server. + The `pg_hba.conf` file manages connections for the Postgres server. You must ensure that the `pg_hba.conf` file on each monitored server allows connections from the PEM server, the monitoring PEM agent, and the host of the PEM-HTTPD server. -For information about modifying the `pg_hba.conf` file, see the [PEM Administrator's Guide](https://www.enterprisedb.com/docs/pem/latest/pem_admin/). + For information about modifying the `pg_hba.conf` file, see the [PEM Administrator's Guide](https://www.enterprisedb.com/docs/pem/latest/pem_admin/). -Information about managing authentication is also available in the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html). + Information about managing authentication is also available in the [PostgreSQL core documentation](https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html). -**Firewall Restrictions** +- **Firewall Restrictions** -Please note that you must adjust your firewall to allow communication between PEM components. + Please note that you must adjust your firewall to allow communication between PEM components. -**Supported Locales** +- **Supported Locales** -Currently, the PEM server and web interface support a locale of `English(US) en_US` and use of a period (.) as a language separator character. Using an alternate locale, or a separator character other than a period may result in errors. + Currently, the PEM server and web interface support a locale of `English(US) en_US` and use of a period (.) as a language separator character. Using an alternate locale, or a separator character other than a period may result in errors. diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_windows/03_pem_architecture.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_windows/03_pem_architecture.mdx index 85777001896..52bb69da6c3 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_windows/03_pem_architecture.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_windows/03_pem_architecture.mdx @@ -32,7 +32,7 @@ The PEM server consists of an instance of Postgres, an instance of the Apache we The instance of Postgres (a database server) and an instance of the Apache web-server ( HTTPD) can be on the same host or on separate hosts. -- **Postgres Instance (Database server)** - This is the backend database server. It hosts a database named **pem** which acts as the repository for PEM Server. The **pem** database contains several schemas that store metric data collected from each monitored host, server, and database. +- **Postgres Instance (Database server)** - This is the backend database server. It hosts a database named **pem** that acts as the repository for PEM Server. The **pem** database contains several schemas that store metric data collected from each monitored host, server, and database. - **pem** - This schema is the core of the PEM application. It contains the definitions of configuration functions, tables, or views required by the application. - **pemdata** - This schema stores the current snapshot of the monitored data. - **pemhistory** - This schema stores the historical monitored data. @@ -46,7 +46,7 @@ The instance of Postgres (a database server) and an instance of the Apache web-s - **SQL Profiler UI Integration** - SQL Profiler generates easily analyzed traces of session content. - **Query Editor/Data View** - The Query editor allows you to query, edit, and view data. - **Debugger** - The Debugger helps you debug queries. - - **Performance Diagnostics** - Performance Diagnostics help you analyze the performance of Postgres instances. + - **Performance Diagnostics** - Performance Diagnostics helps you analyze the performance of Advanced Server. We recommend that you use a dedicated machine to host production instances of the PEM backend database. The host may be subject to high levels of data throughput, depending on the number of database servers that are being monitored and the workloads the servers are processing. @@ -79,7 +79,7 @@ By default, the PEM Agent bound to the database server collects the OS/Database The Alert processing, SNMP/SMTP spoolers, and Nagios Spooler data is stored in the `pem` database on the PEM server and is then processed by the PEM Agent on the PEM Host by default. However, processing by other PEM Agents can be enabled by adjusting the SNMP/SMTP and Nagios parameters of the PEM Agents. -To see more information about these parameters see [Server Configuration](https://www.enterprisedb.com/docs/pem/latest/pem_online_help/04_toc_pem_features/02_pem_server_config/01_pem_config_options/). +To see more information about these parameters, see [Server Configuration](https://www.enterprisedb.com/docs/pem/latest/pem_online_help/04_toc_pem_features/02_pem_server_config/01_pem_config_options/). ## The PEM Web Client diff --git a/product_docs/docs/pem/7.16/pem_inst_guide_windows/04_installing_postgres_enterprise_manager/01_installing_pem_server_on_windows.mdx b/product_docs/docs/pem/7.16/pem_inst_guide_windows/04_installing_postgres_enterprise_manager/01_installing_pem_server_on_windows.mdx index 52dbaaa4cda..56f406018c1 100644 --- a/product_docs/docs/pem/7.16/pem_inst_guide_windows/04_installing_postgres_enterprise_manager/01_installing_pem_server_on_windows.mdx +++ b/product_docs/docs/pem/7.16/pem_inst_guide_windows/04_installing_postgres_enterprise_manager/01_installing_pem_server_on_windows.mdx @@ -4,7 +4,7 @@ title: "Installing the PEM Server on Windows" At the heart of each PEM installation is the server. In a production environment, the server will typically be a dedicated machine, monitoring a large number of Postgres servers or a smaller number of busy servers. -The PEM server backend database may be an EnterpriseDB distribution of the PostgreSQL or Advanced Server database server, or an existing Postgres server installed from another source. The Postgres backend database server must be version 11 or later, and will contain a database named `pem`, which is used by the PEM server as a repository. +The PEM server backend database may be an EnterpriseDB distribution of the PostgreSQL or Advanced Server database server, or an existing Postgres server installed from another source. The Postgres backend database server must be any of the supported version and will contain a database named `pem`, which is used by the PEM server as a repository. - If you would like to use an existing Postgres server to host the PEM server, the PEM server installer can create the `pem` database on the Postgres host. You must manually satisfy the software pre-requisites if you choose to use an existing server. @@ -23,13 +23,13 @@ The PEM server installer will also install the software required to access the s You can use the web interface to review information about objects that reside on monitored servers, manage databases and database objects that reside on monitored servers, or review statistical information gathered by the PEM server. !!! Note - If you are using the SSL certificates then make sure that all the SSL certificates are inside the data directory the backend database server. If the certificates are not inside the data directory then the PEM Server's configuration may fail as it looks in to the data directory while configuring the PEM Server. + If you are using the SSL certificates, then make sure that all the SSL certificates are inside the data directory of the backend database server. If the certificates are not inside the data directory, then the PEM Server's configuration may fail as it looks into the data directory while configuring the PEM Server. ## Installing the PEM Server and PEM-HTTPD on the Same Host The easiest PEM server installation configuration consists of a PEM backend database server (hosted on a PostgreSQL database installed with the PEM server installer) and a PEM-HTTPD service that reside on the same host. In this configuration, the PEM server installer will provide the pre-requisite software for the backend host register the service (on Windows). -To invoke the PEM server installer on a Windows system, right click the installer icon and select `Run as Administrator`. The installer displays a `Welcome` dialog. +To invoke the PEM server installer on a Windows system, right-click the installer icon and select `Run as Administrator`. The installer displays a `Welcome` dialog. ![PEM Server Wizard - Welcome dialog](../../images/pem_server_on_same_host_welcome_wizard.png) @@ -49,7 +49,7 @@ Use the `Installation Directory` dialog to specify the location of the PEM serve To install the PostgreSQL server packaged with the installer and PEM-HTTPD on the same host, leave the `Show advanced options` box unchecked and click `Next`. -The PEM server installer will perform a pre-installation check for PEM-HTTPD, Language Pack, and PostgreSQL 13. If the installer does not locate these packages, it will inform you in the `Dependency missing` dialog. +The PEM server installer will perform a pre-installation check for PEM-HTTPD, Language Pack, and PostgreSQL 10. If the installer does not locate these packages, it will inform you in the `Dependency missing` dialog. !!! Note By default EDB Language Pack is installed in `C:\edb\languagepack\v1`. @@ -220,7 +220,7 @@ Selecting the `Web Services` radio button on the `Advanced options` dialog instr ![PEM Server Wizard - Advanced Options - Web Services option](../../images/pem_server_on_separate_host_installing_web_services_advanced_options.png) !!! Note - The current host may not be the host of the PEM backing database. + The current host may not be the host of the PEM backend database. Before selecting this option, you must have: @@ -521,8 +521,8 @@ Where: - `registered_edb_user` specifies the name of a registered EnterpriseDB user. To register, visit the [EDB website](https://www.enterprisedb.com/user/register) - `edb_user_password` specifies the password associated with the EDB user account. -- `port` specifies the port used by the backing PostgreSQL database; by default, the PostgreSQL database uses port `5432`. -- `cidr_address_range` specifies the address range that will be added to the `pg_hba.conf` file of the PEM server's backing database to allow connections from the agents that will be monitored by the server. You may wish to specify a network range (for example, 192.168.2.0/24) to provide server access to agents that reside on the same network. +- `port` specifies the port used by the backend PostgreSQL database; by default, the PostgreSQL database uses port `5432`. +- `cidr_address_range` specifies the address range that will be added to the `pg_hba.conf` file of the PEM server's backend database to allow connections from the agents that will be monitored by the server. You may wish to specify a network range (for example, 192.168.2.0/24) to provide server access to agents that reside on the same network. - `windows_password` specifies the password associated with the Windows Administrator's account. !!! Note From f5d6dd3981d4e283881473814ef7a10f88f9ed24 Mon Sep 17 00:00:00 2001 From: Abhilasha Narendra Date: Mon, 19 Apr 2021 23:13:12 +0530 Subject: [PATCH 09/21] Fixing diff for EFM 4.0 After cloning EFM 4.1 folder to make it EFM 4.0, I fixed the diff between the two folders. Former-commit-id: a18479113ea6488058a1bba599b2f20b385adce5 --- .../docs/efm/4.0/efm_user/01_whats_new.mdx | 13 ++-- .../efm/4.0/efm_user/03_installing_efm.mdx | 38 +++++----- .../01_encrypting_database_password.mdx | 12 ++-- .../01_cluster_properties/index.mdx | 71 ++----------------- .../02_encrypting_database_password.mdx | 14 ++-- .../04_configuring_efm/03_cluster_members.mdx | 6 +- .../04_extending_efm_permissions.mdx | 24 +++---- .../05_using_vip_addresses.mdx | 4 +- .../4.0/efm_user/04_configuring_efm/index.mdx | 2 +- .../docs/efm/4.0/efm_user/05_using_efm.mdx | 16 ++--- .../efm_user/06_monitoring_efm_cluster.mdx | 2 +- .../efm/4.0/efm_user/07_using_efm_utility.mdx | 4 +- .../efm_user/08_controlling_efm_service.mdx | 22 +++--- .../4.0/efm_user/09_controlling_logging.mdx | 6 +- .../efm/4.0/efm_user/10_notifications.mdx | 11 ++- .../4.0/efm_user/11_supported_scenarios.mdx | 2 +- .../12_upgrading_existing_cluster.mdx | 55 +++++++------- .../efm/4.0/efm_user/13_troubleshooting.mdx | 2 +- .../14_configuring_streaming_replication.mdx | 2 +- .../15_configuring_ssl_authentication.mdx | 2 +- product_docs/docs/efm/4.0/efm_user/index.mdx | 8 +-- 21 files changed, 124 insertions(+), 192 deletions(-) diff --git a/product_docs/docs/efm/4.0/efm_user/01_whats_new.mdx b/product_docs/docs/efm/4.0/efm_user/01_whats_new.mdx index 721f5dccce8..33bc9b3f8f5 100644 --- a/product_docs/docs/efm/4.0/efm_user/01_whats_new.mdx +++ b/product_docs/docs/efm/4.0/efm_user/01_whats_new.mdx @@ -3,14 +3,15 @@ title: "What’s New" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/whats_new.html" + #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/whats_new.html" --- -The following changes have been made to EDB Postgres Failover Manager to create version 4.1: +The following changes have been made to EDB Postgres Failover Manager to create version 4.0: -- EFM Pgpool integration scripts have been included in the EFM distribution. This will allow the customers to implement EFM Pgpool HA architecture directly from the deployed software, without using the custom integration scripts. -- EFM Pgpool HA architecture deployment with Azure Network Load Balancer has been enabled, tested, and documented. -- Standby Agents attempt to resume health monitoring when local database connectivity is recovered. -- Option provided to automatically increase `num_sync` when synchronous Standbys are added to a cluster or they rejoin a cluster. +- Encryption for database password has been improved. Encryption has also been enabled for communication between the agents. +- Standby servers are no longer stopped while selecting the new primary. This enhancement significantly speeds up the promotion process. +- To be consistent with community naming guidelines, the term Master has been replaced with Primary in the Failover Manager product and documentation. The upgrade-conf tool will handle the task of renaming the impacted properties post-upgrade. The load balancer scripts such as `script.load.balancer.attach`, `script.load. balancer.detach` will now accept character `p` instead of character `m` as an argument. +- Support has been added to delay the restart of standbys after a promotion. You can increase the availability by staggering the restart of standbys. +- A primary agent now attempts to resume health monitoring in a situation where the agent can not reach its local database but other agents can. diff --git a/product_docs/docs/efm/4.0/efm_user/03_installing_efm.mdx b/product_docs/docs/efm/4.0/efm_user/03_installing_efm.mdx index 356d8649f0b..add844dddfe 100644 --- a/product_docs/docs/efm/4.0/efm_user/03_installing_efm.mdx +++ b/product_docs/docs/efm/4.0/efm_user/03_installing_efm.mdx @@ -1,14 +1,14 @@ --- title: "Installing Failover Manager" legacyRedirects: - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/installing_debian_ubuntu.html" - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/installing_sles.html" - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/post_install_tasks.html" - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/installing_rhel_centos_oel.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/installing_debian_ubuntu.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/installing_sles.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/post_install_tasks.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/installing_rhel_centos_oel.html" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/installing_efm.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/installing_efm.html" --- @@ -76,7 +76,7 @@ After receiving your credentials, you must create the EnterpriseDB repository co 6. Install the selected package: ```text - yum -y install edb-efm41 + yum -y install edb-efm40 ``` ### RHEL or CentOS 7 Host @@ -108,7 +108,7 @@ After receiving your credentials, you must create the EnterpriseDB repository co 5. Install the selected package: ```text - yum -y install edb-efm41 + yum -y install edb-efm40 ``` ### RHEL or CentOS 8 Host @@ -154,7 +154,7 @@ After receiving your credentials, you must create the EnterpriseDB repository co ``` 6. Install the selected package: ```text - dnf -y install edb-efm41 + dnf -y install edb-efm40 ``` ## Debian or Ubuntu Host @@ -199,7 +199,7 @@ The following steps will walk you through using the EnterpriseDB apt repository ``` 6. Install Failover Manager: ```text - apt-get -y install edb-efm41 + apt-get -y install edb-efm40 ``` ### Ububtu Host @@ -236,7 +236,7 @@ The following steps will walk you through using the EnterpriseDB apt repository ``` 6. Install Failover Manager: ```text - apt-get -y install edb-efm41 + apt-get -y install edb-efm40 ``` ## SLES Host @@ -285,7 +285,7 @@ You can use the zypper package manager to install a Failover Manager agent on an 6. Now you can use the zypper utility to install a Failover Manager agent: ```text - zypper -n install edb-efm41 + zypper -n install edb-efm40 ``` ## Performing post-installation tasks @@ -305,11 +305,11 @@ components are installed in the following locations: | Component | Location | | --------------------------------- | --------------------------- | -| Executables | /usr/edb/efm-4.1/bin | -| Libraries | /usr/edb/efm-4.1/lib | -| Cluster configuration files | /etc/edb/efm-4.1 | -| Logs | /var/log/efm- 4.1 | -| Lock files | /var/lock/efm-4.1 | -| Log rotation file | /etc/logrotate.d/efm-4.1 | -| sudo configuration file | /etc/sudoers.d/efm-41 | -| Binary to access VIP without sudo | /usr/edb/efm-4.1/bin/secure | +| Executables | /usr/edb/efm-4.0/bin | +| Libraries | /usr/edb/efm-4.0/lib | +| Cluster configuration files | /etc/edb/efm-4.0 | +| Logs | /var/log/efm- 4.0 | +| Lock files | /var/lock/efm-4.0 | +| Log rotation file | /etc/logrotate.d/efm-4.0 | +| sudo configuration file | /etc/sudoers.d/efm-40 | +| Binary to access VIP without sudo | /usr/edb/efm-4.0/bin/secure | diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/01_encrypting_database_password.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/01_encrypting_database_password.mdx index 519c8771bf8..77f0a39f8c9 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/01_encrypting_database_password.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/01_encrypting_database_password.mdx @@ -4,7 +4,7 @@ title: "Encrypting Your Database Password" -Failover Manager requires you to encrypt your database password before including it in the cluster properties file. Use the [efm utility](../../07_using_efm_utility/#efm_encrypt) (located in the `/usr/edb/efm-4.1/bin` directory) to encrypt the password. When encrypting a password, you can either pass the password on the command line when you invoke the utility, or use the `EFMPASS` environment variable. +Failover Manager requires you to encrypt your database password before including it in the cluster properties file. Use the [efm utility](../../07_using_efm_utility/#efm_encrypt) (located in the `/usr/edb/efm-4.0/bin` directory) to encrypt the password. When encrypting a password, you can either pass the password on the command line when you invoke the utility, or use the `EFMPASS` environment variable. To encrypt a password, use the command: @@ -31,7 +31,7 @@ The following example demonstrates using the encrypt utility to encrypt a passwo # efm encrypt acctg This utility will generate an encrypted password for you to place in your EFM cluster property file: -/etc/edb/efm-4.1/acctg.properties +/etc/edb/efm-4.0/acctg.properties Please enter the password and hit enter: Please enter the password again to confirm: The encrypted password is: 516b36fb8031da17cfbc010f7d09359c @@ -45,16 +45,16 @@ db.password.encrypted=516b36fb8031da17cfbc010f7d09359c After receiving your encrypted password, paste the password into the properties file and start the Failover Manager service. If there is a problem with the encrypted password, the Failover Manager service will not start: ```text -[witness@localhost ~]# systemctl start edb-efm-4.1 -Job for edb-efm-4.1.service failed because the control process exited with error code. See "systemctl status edb-efm-4.1.service" and "journalctl -xe" for details. +[witness@localhost ~]# systemctl start edb-efm-4.0 +Job for edb-efm-4.0.service failed because the control process exited with error code. See "systemctl status edb-efm-4.0.service" and "journalctl -xe" for details. ``` -If you receive this message when starting the Failover Manager service, please see the startup log (located in `/var/log/efm-4.1/startup-efm.log`) for more information. +If you receive this message when starting the Failover Manager service, please see the startup log (located in `/var/log/efm-4.0/startup-efm.log`) for more information. If you are using RHEL/CentOS 7.x or RHEL/CentOS 8.x, startup information is also available with the following command: ```text -systemctl status edb-efm-4.1 +systemctl status edb-efm-4.0 ``` To prevent a cluster from inadvertently connecting to the database of another cluster, the cluster name is incorporated into the encrypted password. If you modify the cluster name, you will need to re-encrypt the database password and update the cluster properties file. diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/index.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/index.mdx index cf5e88e0e03..a447ad897d6 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/index.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/01_cluster_properties/index.mdx @@ -3,17 +3,17 @@ title: "The Cluster Properties File" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/cluster_properties.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/cluster_properties.html" --- -Each node in a Failover Manager cluster has a properties file (by default, named `efm.properties`) that contains the properties of the individual node on which it resides. The Failover Manager installer creates a file template for the properties file named `efm.properties.in` in the `/etc/edb/efm-4.1` directory. +Each node in a Failover Manager cluster has a properties file (by default, named `efm.properties`) that contains the properties of the individual node on which it resides. The Failover Manager installer creates a file template for the properties file named `efm.properties.in` in the `/etc/edb/efm-4.0` directory. After completing the Failover Manager installation, you must make a working copy of the template before modifying the file contents: ```text -# cp /etc/edb/efm-4.1/efm.properties.in /etc/edb/efm-4.1/efm.properties +# cp /etc/edb/efm-4.0/efm.properties.in /etc/edb/efm-4.0/efm.properties ``` After copying the template file, change the owner of the file to `efm`: @@ -27,7 +27,7 @@ After copying the template file, change the owner of the file to `efm`: After creating the cluster properties file, add (or modify) configuration parameter values as required. For detailed information about each property, see [Specifying Cluster Properties](#specifying-cluster-properties). -The property files are owned by `root`. The Failover Manager service script expects to find the files in the `/etc/edb/efm-4.1 directory`. If you move the property file to another location, you must create a symbolic link that specifies the new location. +The property files are owned by `root`. The Failover Manager service script expects to find the files in the `/etc/edb/efm-4.0 directory`. If you move the property file to another location, you must create a symbolic link that specifies the new location. !!! Note All user scripts referenced in the properties file will be invoked as the Failover Manager user. @@ -98,7 +98,6 @@ Use the properties in the `efm.properties` file to specify connection, administr | [application.name](#application_name) | | | | Set to replace the application_name portion of the primary_conninfo entry with this property value before starting the original primary database as a standby. | | [restore.command](#restore_command) | | | | Example: restore.command=scp <db_service_owner>@%h: <archive_path>/%f %p | | [reconfigure.num.sync](#reconfigure_num_sync) | Y | | false | | -| [reconfigure.num.sync.max](#reconfigure_num_sync_max) | | | | | | [reconfigure.sync.primary](#reconfigure_sync_primary) | Y | | false | | | [minimum.standbys](#minimum_standbys) | Y | Y | 0 | This value must be same for all the nodes | | [recovery.check.period](#recovery_check_period) | Y | | 1 | | @@ -109,12 +108,6 @@ Use the properties in the `efm.properties` file to specify connection, administr | [virtual.ip.prefix](#virtual_ip) | | | | Required if you specify a VIP | | [virtual.ip.single](#virtual_ip) | Y | Y | Yes | This value must be same for all the nodes | | [check.vip.before.promotion](#check_vip_before_promotion) | Y | Y | Yes | | -| [pgpool.enable](#pgpool_enable) | | | false | | -| [pcp.user](#pgpool_enable) | | | | Required if pgpool.enable is set to true | -| [pcp.host](#pgpool_enable) | | | | Required if pgpool.enable is set to true, this value must be same for all the agents | -| [pcp.port](#pgpool_enable) | | | | Required if pgpool.enable is set to true, this value must be same for all the agents | -| [pcp.pass.file](#pgpool_enable) | | | | Required if pgpool.enable is set to true | -| [pgpool.bin](#pgpool_enable) | | | | Required if pgpool.enable is set to true | | [script.load.balancer.attach](#script_load_balancer) | | | | Example: script.load.balancer.attach= /<path>/<attach_script> %h %t | | [script.load.balancer.detach](#script_load_balancer) | | | | Example: script.load.balancer.detach= /<path>/<detach_script> %h %t | | [script.fence](#script_fence) | | | | Example: script.fence= /<path>/<script_name> %p %f | @@ -761,22 +754,6 @@ The database parameter `synchronous_standby_names` on the primary node specifies reconfigure.num.sync=false ``` - - -Use the `reconfigure.num.sync.max` property to specify the maximum number to which num-sync can be raised when a standby is added to the cluster. - -```text -# If reconfigure.num.sync is set to true and this property is set, -# Failover Manager will check if num_sync can be raised when a standby -# is added to the cluster. -# Failover Manager will not raise the value above the maximum set here. -# If the primary database has been taken out of synchronous mode -# completely (see the reconfigure.sync.primary property), then Failover -# Manager will not reconfigure the primary database if standbys are -# added to the cluster. -reconfigure.num.sync.max= -``` - Set the `reconfigure.sync.primary` property to `true` to take the primary database out of synchronous replication mode if the number of standby nodes drops below the level required. Set `reconfigure.sync.primary` to `false` to send a notification if the standby count drops, but not interrupt synchronous replication. @@ -905,41 +882,6 @@ Set the `check.vip.before.promotion` property to false to indicate that Failover check.vip.before.promotion=true ``` - - -Use the `pgpool.enable` property to specify if you want to enable the Failover Manager and Pgpool integration for high availability. You must have sudo access to enable the Pgpool integration. - -```text -# A boolean property to enable Failover Manager managed Pgpool HA. -# If enabled, Failover Manager would natively update the joining -# and leaving status of database nodes to active pgpool instance. -# Failover manager expects properly configured and running pgpool -# instances on required nodes. It does not manage setup and -# configuration of pgpool on any node. -# -# By default the property is disabled. -pgpool.enable=false -``` - -Use the following parameters to specify the values that should be used for Pgpool integration. - -```text -# Configurations required for pgpool integration. -# 'pcp.user' - User that would be invoking PCP commands -# 'pcp.host' - Virtual IP that would be used by pgpool. Same as -# pgpool parameter 'delegate_IP' -# 'pcp.port' - The port on which pgpool listens for pcp commands. -# 'pcp.pass.file' - Absolute path of PCPPASSFILE. -# 'pgpool.bin' - Absolute path of pgpool bin directory - -# These properties are required if 'pgpool.enable' is set to true. -pcp.user= -pcp.host= -pcp.port= -pcp.pass.file= -pgpool.bin= -``` - Use the following properties to provide paths to scripts that reconfigure your load balancer in the event of a switchover or primary failure scenario. The scripts will also be invoked in the event of a standby failure. If you are using these properties, they should be provided on every node of the cluster (primary, standby, and witness) to ensure that if a database node fails, another node will call the detach script with the failed node's address. @@ -1242,8 +1184,3 @@ Use the `jvm.options` property to pass JVM-related configuration information. Th jvm.options=-Xmx128m ``` -
- -encrypting_database_password - -
diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/02_encrypting_database_password.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/02_encrypting_database_password.mdx index 25926e23c36..c0456f97d8c 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/02_encrypting_database_password.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/02_encrypting_database_password.mdx @@ -3,12 +3,12 @@ title: "Encrypting Your Database Password" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/encrypting_database_password.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/encrypting_database_password.html" --- -Failover Manager requires you to encrypt your database password before including it in the cluster properties file. Use the [efm utility](../07_using_efm_utility/#efm_encrypt) (located in the `/usr/edb/efm-4.1/bin` directory) to encrypt the password. When encrypting a password, you can either pass the password on the command line when you invoke the utility, or use the `EFMPASS` environment variable. +Failover Manager requires you to encrypt your database password before including it in the cluster properties file. Use the [efm utility](../07_using_efm_utility/#efm_encrypt) (located in the `/usr/edb/efm-4.0/bin` directory) to encrypt the password. When encrypting a password, you can either pass the password on the command line when you invoke the utility, or use the `EFMPASS` environment variable. To encrypt a password, use the command: @@ -35,7 +35,7 @@ The following example demonstrates using the encrypt utility to encrypt a passwo # efm encrypt acctg This utility will generate an encrypted password for you to place in your EFM cluster property file: -/etc/edb/efm-4.1/acctg.properties +/etc/edb/efm-4.0/acctg.properties Please enter the password and hit enter: Please enter the password again to confirm: The encrypted password is: 516b36fb8031da17cfbc010f7d09359c @@ -49,16 +49,16 @@ db.password.encrypted=516b36fb8031da17cfbc010f7d09359c After receiving your encrypted password, paste the password into the properties file and start the Failover Manager service. If there is a problem with the encrypted password, the Failover Manager service will not start: ```text -[witness@localhost ~]# systemctl start edb-efm-4.1 -Job for edb-efm-4.1.service failed because the control process exited with error code. See "systemctl status edb-efm-4.1.service" and "journalctl -xe" for details. +[witness@localhost ~]# systemctl start edb-efm-4.0 +Job for edb-efm-4.0.service failed because the control process exited with error code. See "systemctl status edb-efm-4.0.service" and "journalctl -xe" for details. ``` -If you receive this message when starting the Failover Manager service, please see the startup log (located in `/var/log/efm-4.1/startup-efm.log`) for more information. +If you receive this message when starting the Failover Manager service, please see the startup log (located in `/var/log/efm-4.0/startup-efm.log`) for more information. If you are using RHEL/CentOS 7.x or RHEL/CentOS 8.x, startup information is also available with the following command: ```text -systemctl status edb-efm-4.1 +systemctl status edb-efm-4.0 ``` To prevent a cluster from inadvertently connecting to the database of another cluster, the cluster name is incorporated into the encrypted password. If you modify the cluster name, you will need to re-encrypt the database password and update the cluster properties file. diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/03_cluster_members.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/03_cluster_members.mdx index 96319761065..5b7b5b030bf 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/03_cluster_members.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/03_cluster_members.mdx @@ -3,17 +3,17 @@ title: "The Cluster Members File" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/cluster_members.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/cluster_members.html" --- -Each node in a Failover Manager cluster has a cluster members file (by default, named efm.nodes) that contains a list of the current Failover Manager cluster members. When an agent starts, it uses the file to locate other cluster members. The Failover Manager installer creates a file template for the cluster members file named `efm.nodes.in` in the `/etc/edb/efm-4.1` directory. +Each node in a Failover Manager cluster has a cluster members file (by default, named efm.nodes) that contains a list of the current Failover Manager cluster members. When an agent starts, it uses the file to locate other cluster members. The Failover Manager installer creates a file template for the cluster members file named `efm.nodes.in` in the `/etc/edb/efm-4.0` directory. After completing the Failover Manager installation, you must make a working copy of the template: ```text -cp /etc/edb/efm-4.1/efm.nodes.in /etc/edb/efm-4.1/efm.nodes +cp /etc/edb/efm-4.0/efm.nodes.in /etc/edb/efm-4.0/efm.nodes ``` After copying the template file, change the owner of the file to `efm`: diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/04_extending_efm_permissions.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/04_extending_efm_permissions.mdx index 71eb33b42e0..f49e8489cfb 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/04_extending_efm_permissions.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/04_extending_efm_permissions.mdx @@ -3,7 +3,7 @@ title: "Extending Failover Manager Permissions" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/extending_efm_permissions.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/extending_efm_permissions.html" --- @@ -34,18 +34,18 @@ The `efm-41` file is located in `/etc/sudoers.d`, and contains the following ent # If you run your db service under a non-default account, you will need to copy # this file to grant the proper permissions and specify the account in your efm # cluster properties file by changing the 'db.service.owner' property. -efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.1/bin/efm_db_functions -efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.1/bin/efm_db_functions +efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.0/bin/efm_db_functions +efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.0/bin/efm_db_functions # Allow user 'efm' to sudo efm_root_functions as 'root' to write/delete the PID file, # validate the db.service.owner property, etc. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.1/bin/efm_root_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.0/bin/efm_root_functions # Allow user 'efm' to sudo efm_address as root for VIP tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.1/bin/efm_address +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.0/bin/efm_address # Allow user 'efm' to sudo efm_pgpool_functions as root for pgpool tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.1/bin/efm_pgpool_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.0/bin/efm_pgpool_functions # relax tty requirement for user 'efm' Defaults:efm !requiretty @@ -78,7 +78,7 @@ To run Failover Manager without sudo, you must select a database process owner t usermod -a -G efm enterprisedb ``` - This should allow the user to write to `/var/run/efm-4.1` and `/var/lock/efm-4.1`. + This should allow the user to write to `/var/run/efm-4.0` and `/var/lock/efm-4.0`. 2. If you are reusing a cluster name, remove any previously created log files; the new user will not be able to write to log files created by the default (or other) owner. @@ -87,9 +87,9 @@ To run Failover Manager without sudo, you must select a database process owner t ```text su - enterprisedb - cp /etc/edb/efm-4.1/efm.properties.in .properties + cp /etc/edb/efm-4.0/efm.properties.in .properties - cp /etc/edb/efm-4.1/efm.nodes.in /.nodes + cp /etc/edb/efm-4.0/efm.nodes.in /.nodes ``` Then, modify the cluster properties file, providing the name of the user in the `db.service.owner` property. You must also ensure that the `db.service.name` property is blank; without sudo, you cannot run services without root access. @@ -97,19 +97,19 @@ Then, modify the cluster properties file, providing the name of the user in the After modifying the configuration, the new user can control Failover Manager with the following command: ```text -/usr/edb/efm-4.1/bin/runefm.sh start|stop .properties +/usr/edb/efm-4.0/bin/runefm.sh start|stop .properties ``` Where `` specifies the full path of the cluster properties file. Note that the user must ensure that the full path to the properties file must be provided whenever the non-default user is controlling agents or using the efm script. To allow the new user to manage Failover Manager as a service, you must provide a custom script or unit file. -Failover Manager uses a binary named `manage-vip` that resides in `/usr/edb/efm-4.1/bin/secure/` to perform VIP management operations without sudo privileges. This script uses setuid to acquire with the privileges needed to manage Virtual IP addresses. +Failover Manager uses a binary named `manage-vip` that resides in `/usr/edb/efm-4.0/bin/secure/` to perform VIP management operations without sudo privileges. This script uses setuid to acquire with the privileges needed to manage Virtual IP addresses. - This directory is only accessible to root and users in the `efm` group. - The binary is only executable by root and the `efm` group. -For security reasons, we recommend against modifying the access privileges of the `/usr/edb/efm-4.1/bin/secure/` directory or the `manage-vip` script. +For security reasons, we recommend against modifying the access privileges of the `/usr/edb/efm-4.0/bin/secure/` directory or the `manage-vip` script. For more information about using Failover Manager without sudo, visit: diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/05_using_vip_addresses.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/05_using_vip_addresses.mdx index f7aed65651f..99f5a68f4a2 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/05_using_vip_addresses.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/05_using_vip_addresses.mdx @@ -3,7 +3,7 @@ title: "Using Failover Manager with Virtual IP Addresses" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/using_vip_addresses.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/using_vip_addresses.html" --- @@ -15,7 +15,7 @@ Failover Manager uses the `efm_address` script to assign or release a virtual IP By default, the script resides in: - `/usr/edb/efm-4.1/bin/efm_address` + `/usr/edb/efm-4.0/bin/efm_address` Failover Manager uses the following command variations to assign or release an IPv4 or IPv6 IP address. diff --git a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/index.mdx b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/index.mdx index cf98ce3702b..a89e7f687b9 100644 --- a/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/index.mdx +++ b/product_docs/docs/efm/4.0/efm_user/04_configuring_efm/index.mdx @@ -3,7 +3,7 @@ title: "Configuring Failover Manager" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/configuring_efm.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/configuring_efm.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/05_using_efm.mdx b/product_docs/docs/efm/4.0/efm_user/05_using_efm.mdx index 65af68937c9..25fb74d736d 100644 --- a/product_docs/docs/efm/4.0/efm_user/05_using_efm.mdx +++ b/product_docs/docs/efm/4.0/efm_user/05_using_efm.mdx @@ -3,7 +3,7 @@ title: "Using Failover Manager" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/using_efm.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/using_efm.html" --- @@ -35,7 +35,7 @@ You can start the nodes of a Failover Manager cluster in any order. To start the Failover Manager cluster on RHEL/CentOS 7.x or RHEL/CentOS 8.x, assume superuser privileges, and invoke the command: ```text -systemctl start edb-efm-4.1 +systemctl start edb-efm-4.0 ``` If the cluster properties file for the node specifies that `is.witness` is `true`, the node will start as a Witness node. @@ -70,7 +70,7 @@ You can add a node to a Failover Manager cluster at any time. When you add a nod 3. Assume superuser privileges on the new node, and start the Failover Manager agent. To start the Failover Manager cluster on RHEL/CentOS 7.x or RHEL/CentOS 8.x, invoke the command: ```text - systemctl start edb-efm-4.1 + systemctl start edb-efm-4.0 ``` When the new node joins the cluster, Failover Manager will send a notification to the administrator email provided in the `user.email` property, and/or will invoke the specified notification script. @@ -173,13 +173,13 @@ When you stop an agent, Failover Manager will remove the node's address from the To stop the Failover Manager agent on RHEL/CentOS 7.x or RHEL/CentOS 8.x, assume superuser privileges, and invoke the command: ```text -systemctl stop edb-efm-4.1 +systemctl stop edb-efm-4.0 ``` -Until you invoke the `efm disallow-node` command (removing the node's address of the node from the Allowed node host list), you can use the `service edb-efm-4.1 start` command to restart the node at a later date without first running the `efm allow-node` command again. +Until you invoke the `efm disallow-node` command (removing the node's address of the node from the Allowed node host list), you can use the `service edb-efm-4.0 start` command to restart the node at a later date without first running the `efm allow-node` command again. -Note that stopping an agent does not signal the cluster that the agent has failed unless the [primary.shutdown.as.failure](04_configuring_efm/01_cluster_properties/#primary_shutdown_as_failure) property is set to `true`. +Note that stopping an agent does not signal the cluster that the agent has failed unless the [primary.shutdown.as.failure](04_configuring_efm/01_cluster_properties/cluster_properties/#primary_shutdown_as_failure) property is set to `true`. ### Stopping a Failover Manager Cluster @@ -279,7 +279,7 @@ After creating the `acctg.properties` and `sales.properties` files, create a ser ### RHEL/CentOS 7.x or RHEL/CentOS 8.x -If you are using RHEL/CentOS 7.x or RHEL/CentOS 8.x, you should copy the `edb-efm-4.1` unit file to new file with a name that is unique for each cluster. For example, if you have two clusters (named acctg and sales), the unit file names might be: +If you are using RHEL/CentOS 7.x or RHEL/CentOS 8.x, you should copy the `edb-efm-4.0` unit file to new file with a name that is unique for each cluster. For example, if you have two clusters (named acctg and sales), the unit file names might be: ```text /usr/lib/systemd/system/efm-acctg.service @@ -296,7 +296,7 @@ Environment=CLUSTER=acctg You must also update the value of the `PIDfile` parameter to specify the new cluster name. For example: ```text -PIDFile=/var/run/efm-4.1/acctg.pid +PIDFile=/var/run/efm-4.0/acctg.pid ``` After copying the service scripts, use the following commands to enable the services: diff --git a/product_docs/docs/efm/4.0/efm_user/06_monitoring_efm_cluster.mdx b/product_docs/docs/efm/4.0/efm_user/06_monitoring_efm_cluster.mdx index 82aef759984..fe731b8548d 100644 --- a/product_docs/docs/efm/4.0/efm_user/06_monitoring_efm_cluster.mdx +++ b/product_docs/docs/efm/4.0/efm_user/06_monitoring_efm_cluster.mdx @@ -3,7 +3,7 @@ title: "Monitoring a Failover Manager Cluster" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/monitoring_efm_cluster.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/monitoring_efm_cluster.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/07_using_efm_utility.mdx b/product_docs/docs/efm/4.0/efm_user/07_using_efm_utility.mdx index e54f5e3f120..6db8691d3e0 100644 --- a/product_docs/docs/efm/4.0/efm_user/07_using_efm_utility.mdx +++ b/product_docs/docs/efm/4.0/efm_user/07_using_efm_utility.mdx @@ -3,12 +3,12 @@ title: "Using the efm Utility" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/using_efm_utility.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/using_efm_utility.html" --- -Failover Manager provides the efm utility to assist with cluster management. The RPM installer adds the utility to the `/usr/edb/efm-4.1/bin` directory when you install Failover Manager. +Failover Manager provides the efm utility to assist with cluster management. The RPM installer adds the utility to the `/usr/edb/efm-4.0/bin` directory when you install Failover Manager. **efm allow-node** diff --git a/product_docs/docs/efm/4.0/efm_user/08_controlling_efm_service.mdx b/product_docs/docs/efm/4.0/efm_user/08_controlling_efm_service.mdx index a50493bd577..4ab2f2aa6ff 100644 --- a/product_docs/docs/efm/4.0/efm_user/08_controlling_efm_service.mdx +++ b/product_docs/docs/efm/4.0/efm_user/08_controlling_efm_service.mdx @@ -3,7 +3,7 @@ title: "Controlling the Failover Manager Service" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/controlling_efm_service.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/controlling_efm_service.html" --- @@ -21,35 +21,35 @@ The commands that control the Failover Manager service are platform-specific. ## Using the systemctl Utility on RHEL/CentOS 7.x and RHEL/CentOS 8.x -On RHEL/CentOS 7.x and RHEL/CentOS 8.x, Failover Manager runs as a Linux service named (by default) `edb-efm-4.1.service` that is located in `/usr/lib/systemd/system`. Each database cluster monitored by Failover Manager will run a copy of the service on each node of the replication cluster. +On RHEL/CentOS 7.x and RHEL/CentOS 8.x, Failover Manager runs as a Linux service named (by default) `edb-efm-4.0.service` that is located in `/usr/lib/systemd/system`. Each database cluster monitored by Failover Manager will run a copy of the service on each node of the replication cluster. Use the following systemctl commands to control a Failover Manager agent that resides on a RHEL/CentOS 7.x and RHEL/CentOS 8.x host: ```text -systemctl start edb-efm-4.1 +systemctl start edb-efm-4.0 ``` The start command starts the Failover Manager agent on the current node. The local Failover Manager agent monitors the local database and communicates with Failover Manager on the other nodes. You can start the nodes in a Failover Manager cluster in any order. This command must be invoked by root. ```text -systemctl stop edb-efm-4.1 +systemctl stop edb-efm-4.0 ``` Stop the Failover Manager on the current node. This command must be invoked by root. ```text -systemctl status edb-efm-4.1 +systemctl status edb-efm-4.0 ``` The status command returns the status of the Failover Manager agent on which it is invoked. You can invoke the status command on any node to instruct Failover Manager to return status and server startup information. ```text -[root@ONE ~]}> systemctl status edb-efm-4.1 - edb-efm-4.1.service - EnterpriseDB Failover Manager 4.1 - Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.1.service; disabled; vendor preset: disabled) +[root@ONE ~]}> systemctl status edb-efm-4.0 + edb-efm-4.0.service - EnterpriseDB Failover Manager 4.0 + Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.0.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2013-02-14 14:02:16 EST; 4s ago - Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.1/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) + Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.0/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) Main PID: 58180 (java) - CGroup: /system.slice/edb-efm-4.1.service - └─58180 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -cp /usr/edb/edb-efm-4.1/lib/EFM-4.1.0.jar -Xmx128m... + CGroup: /system.slice/edb-efm-4.0.service + └─58180 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -cp /usr/edb/edb-efm-4.0/lib/EFM-4.0.0.jar -Xmx128m... ``` diff --git a/product_docs/docs/efm/4.0/efm_user/09_controlling_logging.mdx b/product_docs/docs/efm/4.0/efm_user/09_controlling_logging.mdx index 586370f91ee..af66915f9c0 100644 --- a/product_docs/docs/efm/4.0/efm_user/09_controlling_logging.mdx +++ b/product_docs/docs/efm/4.0/efm_user/09_controlling_logging.mdx @@ -3,12 +3,12 @@ title: "Controlling Logging" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/controlling_logging.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/controlling_logging.html" --- -Failover Manager writes and stores one log file per agent and one startup log per agent in `/var/log/-4.1` (where `` specifies the name of the cluster). +Failover Manager writes and stores one log file per agent and one startup log per agent in `/var/log/-4.0` (where `` specifies the name of the cluster). You can control the level of detail written to the agent log by modifying the `jgroups.loglevel` and `efm.loglevel` parameters in the [cluster properties file](04_configuring_efm/01_cluster_properties/#loglevel): @@ -35,7 +35,7 @@ The logging facilities use the Java logging library and logging levels. The log For example, if you set the `efm.loglevel` parameter to `WARN`, Failover Manager will only log messages at the `WARN` level and above (`WARN` and `ERROR`). -By default, Failover Manager log files are rotated daily, compressed, and stored for a week. You can modify the file rotation schedule by changing settings in the log rotation file (`/etc/logrotate.d/efm-4.1`). For more information about modifying the log rotation schedule, consult the logrotate man page: +By default, Failover Manager log files are rotated daily, compressed, and stored for a week. You can modify the file rotation schedule by changing settings in the log rotation file (`/etc/logrotate.d/efm-4.0`). For more information about modifying the log rotation schedule, consult the logrotate man page: > `$ man logrotate` diff --git a/product_docs/docs/efm/4.0/efm_user/10_notifications.mdx b/product_docs/docs/efm/4.0/efm_user/10_notifications.mdx index dd529b3d36b..3087ea24575 100644 --- a/product_docs/docs/efm/4.0/efm_user/10_notifications.mdx +++ b/product_docs/docs/efm/4.0/efm_user/10_notifications.mdx @@ -3,7 +3,7 @@ title: "Notifications" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/notifications.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/notifications.html" --- @@ -41,7 +41,7 @@ The severity level designates the urgency of the notification. A notification wi You can use the [notification.level](04_configuring_efm/01_cluster_properties/#notification_level) property to specify the minimum severity level that will trigger a notification. !!! Note - In addition to sending notices to the administrative email address, all notifications are recorded in the cluster log file (`/var/log/efm-4.1/.log`). + In addition to sending notices to the administrative email address, all notifications are recorded in the cluster log file (`/var/log/efm-4.0/.log`). The conditions listed in the table below will trigger an `INFO` level notification: @@ -108,14 +108,13 @@ The conditions listed in the table below will trigger a *WARNING* level notifica | No standbys available for promotion in cluster cluster_name | The current number of standby nodes in the cluster has dropped to the minimum number: number. There cannot be a failover unless another standby node(s) is added or made promotable. | | No promotable standby for cluster cluster_name | The current failover priority list in the cluster is empty. You have removed the only promotable standby for the cluster cluster_name. There cannot be a failover unless another promotable standby node(s) is added or made promotable by adding to failover priority list. | | Synchronous replication has been reconfigured for cluster cluster_name | The number of synchronous standby nodes in the cluster has dropped below number. The synchronous standby names on primary has been reconfigured to: new synchronous_standby_names value. | -| Synchronous replication has been reconfigured for cluster cluster_name | The synchronous_standby_names on primary has been reconfigured to new_synchronous_standby_names | | Synchronous replication has been disabled for cluster cluster_name. | The number of synchronous standby nodes in the cluster has dropped below count. The primary has been taken out of synchronous replication mode. | | Could not reload database configuration. | Could not reload database configuration. Manual intervention is required. Error: error_message. | | Custom monitor timeout for cluster cluster_name | The following custom monitoring script has timed out: script_name | | Custom monitor 'safe mode' failure for cluster cluster_name | The following custom monitor script has failed, but is being run in "safe mode": script_name. Output: script_results | | primary.shutdown.as.failure set to true for primary node | The primary.shutdown.as.failure property has been set to true for this cluster. Stopping the primary agent without stopping the entire cluster will be treated by the rest of the cluster as an immediate primary agent failure. If maintenance is required on the primary database, shut down the primary agent and wait for a notification from the remaining nodes that failover will not happen. | -| Primary_or_Standby cannot ping local database for cluster cluster_name | The Primary_or_Standby agent can no longer reach the local database running at node_address. Other nodes are able to access the database remotely, so the agent will become IDLE and attempt to resume monitoring the database. | -| Standby cannot resume monitoring local database for cluster cluster_name | The standby agent can no longer reach the local database running at node_address. Other nodes are able to access the database remotely. The standby agent will remain IDLE until the resume command is run to resume monitoring the database. | +| Primary cannot ping local database for cluster cluster_name | The Primary agent can no longer reach the local database running at node_address. Other nodes are able to access the database remotely, so the primary will become IDLE and attempt to resume monitoring the database. | + @@ -155,6 +154,4 @@ The conditions listed in the table below will trigger a *SEVERE* notification: | Loopback address set for ping.server.ip | Loopback address is set for ping.server.ip property. This setting can interfere with the network isolation detection and hence it should be changed. | | Load balancer attach script error | Load balancer attach script script_name failed to execute successfully. Exit Value: exit_code Results: script_results | | Load balancer detach script error | Load balancer detach script script_name failed to execute successfully. Exit Value: exit_code Results: script_results | -| Pgpool attach node error | Failover Manager failed to attach pgpool node. Exit Value: exit_code. Results: script_results | -| Pgpool detach node error | Failover Manager failed to detach pgpool node. Exit Value: exit_code. Results: script_results | | Not enough synchronous standbys available in cluster cluster_name. | The number of synchronous standby nodes in the cluster has dropped to count. All write queries on the primary will be blocked until enough synchronous standby nodes are added. | diff --git a/product_docs/docs/efm/4.0/efm_user/11_supported_scenarios.mdx b/product_docs/docs/efm/4.0/efm_user/11_supported_scenarios.mdx index 48aded81ac8..f225d41f915 100644 --- a/product_docs/docs/efm/4.0/efm_user/11_supported_scenarios.mdx +++ b/product_docs/docs/efm/4.0/efm_user/11_supported_scenarios.mdx @@ -3,7 +3,7 @@ title: "Supported Failover and Failure Scenarios" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/supported_scenarios.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/supported_scenarios.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/12_upgrading_existing_cluster.mdx b/product_docs/docs/efm/4.0/efm_user/12_upgrading_existing_cluster.mdx index bcdce46ad3e..15455f32cd9 100644 --- a/product_docs/docs/efm/4.0/efm_user/12_upgrading_existing_cluster.mdx +++ b/product_docs/docs/efm/4.0/efm_user/12_upgrading_existing_cluster.mdx @@ -3,23 +3,23 @@ title: "Upgrading an Existing Cluster" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/upgrading_existing_cluster.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/upgrading_existing_cluster.html" --- Failover Manager provides a utility to assist you when upgrading a Failover Manager cluster. To upgrade an existing cluster, you must: -1. Install Failover Manager 4.1 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](03_installing_efm/#installing_efm). -2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.1. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.1/bin directory`. To invoke the utility, assume root privileges, and invoke the command: +1. Install Failover Manager 4.0 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](03_installing_efm/#installing_efm). +2. After installing Failover Manager, invoke the `efm upgrade-conf` utility to create the `.properties` and `.nodes` files for Failover Manager 4.0. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.0/bin directory`. To invoke the utility, assume root privileges, and invoke the command: ```text efm upgrade-conf ``` -The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of pre-existing clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the `/etc/edb/efm-4.1` directory. +The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of pre-existing clusters and copies the parameter values to a new configuration file for use by Failover Manager. The utility saves the updated copy of the configuration files in the `/etc/edb/efm-4.0` directory. -1. Modify the `.properties` and `.nodes` files for EFM 4.1, specifying any new preferences. Use your choice of editor to modify any additional properties in the properties file (located in the `/etc/edb/efm-4.1` directory) before starting the service for that node. For detailed information about property settings, see [The Cluster Properties File](04_configuring_efm/01_cluster_properties/#cluster_properties). +1. Modify the `.properties` and `.nodes` files for EFM 4.0, specifying any new preferences. Use your choice of editor to modify any additional properties in the properties file (located in the `/etc/edb/efm-4.0` directory) before starting the service for that node. For detailed information about property settings, see [The Cluster Properties File](04_configuring_efm/01_cluster_properties/#cluster_properties). !!! Note `db.bin` is a required property. When modifying the properties file, ensure that the `db.bin` property specifies the location of the Postgres `bin` directory. @@ -30,32 +30,29 @@ The efm `upgrade-conf` utility locates the `.properties` and `.nodes` files of p /usr/efm-4.0/bin/efm stop-cluster efm ``` -1. Start the new [Failover manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.1`) on each node of the cluster. +1. Start the new [Failover manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.0`) on each node of the cluster. The following example demonstrates invoking the upgrade utility to create the `.properties` and `.nodes` files for a Failover Manager installation: ```text -host-192-168-17-43:/etc/edb/efm-4.1 # /usr/edb/efm-4.1/bin/efm upgrade-conf efm -Checking directory /etc/edb/efm-4.0 +[root@localhost efm-4.0]# /usr/edb/efm-4.0/bin/efm upgrade-conf efm +Checking directory /etc/edb/efm-3.10 Processing efm.properties file - -The following properties were added in addition to those in previous installed version: -reconfigure.num.sync.max -pgpool.enable -pcp.user -pcp.host -pcp.port -pcp.pass.file -pgpool.bin - -Checking directory /etc/edb/efm-4.0 +The following properties were added in addition to those in previous ˓→installed version: +notification.text.prefix +encrypt.agent.messages +standby.restart.delay +The following properties were renamed from those in previous installed ˓→version: +stop.failed.master => stop.failed.primary +master.shutdown.as.failure => primary.shutdown.as.failure +script.master.isolated => script.primary.isolated +stop.isolated.master => stop.isolated.primary +reconfigure.sync.master => reconfigure.sync.primary +Checking directory /etc/edb/efm-3.10 Processing efm.nodes file - db.password.encrypted re-encoded with stronger encryption. - -Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'. - -root@localhost efm-4.1]# +Upgrade of files is finished. The owner and group for properties and ˓→nodes files have been set as 'efm'. +[root@localhost efm-4.0]# ``` If you are [using a Failover Manager configuration without sudo](04_configuring_efm/04_extending_efm_permissions/#running_efm_without_sudo), include the `-source` flag and specify the name of the directory in which the configuration files reside when invoking `upgrade-conf`. If the directory is not the configuration default directory, the upgraded files will be created in the directory from which the `upgrade-conf` command was invoked. @@ -64,30 +61,30 @@ If you are [using a Failover Manager configuration without sudo](04_configuring_ ## Un-installing Failover Manager -After upgrading to Failover Manager 4.1, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 4.0 and any unneeded dependencies: +After upgrading to Failover Manager 4.0, you can use your native package manager to remove previous installations of Failover Manager. For example, use the following command to remove Failover Manager 3.10 and any unneeded dependencies: - On RHEL or CentOS 7.x: ```text -yum remove edb-efm40 +yum remove edb-efm310 ``` - On RHEL or CentOS 8.x: ```text -dnf remove edb-efm40 +dnf remove edb-efm310 ``` - On Debian or Ubuntu: ```text -apt-get remove edb-efm40 +apt-get remove edb-efm310 ``` - On SLES: ```text -zypper remove edb-efm40 +zypper remove edb-efm310 ``` ## Performing a Database Update (Minor Version) diff --git a/product_docs/docs/efm/4.0/efm_user/13_troubleshooting.mdx b/product_docs/docs/efm/4.0/efm_user/13_troubleshooting.mdx index 60dc934bd9f..f2c421c3ce1 100644 --- a/product_docs/docs/efm/4.0/efm_user/13_troubleshooting.mdx +++ b/product_docs/docs/efm/4.0/efm_user/13_troubleshooting.mdx @@ -3,7 +3,7 @@ title: "Troubleshooting" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/troubleshooting.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/troubleshooting.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/14_configuring_streaming_replication.mdx b/product_docs/docs/efm/4.0/efm_user/14_configuring_streaming_replication.mdx index 8d39ab3ff43..9b19511aba2 100644 --- a/product_docs/docs/efm/4.0/efm_user/14_configuring_streaming_replication.mdx +++ b/product_docs/docs/efm/4.0/efm_user/14_configuring_streaming_replication.mdx @@ -3,7 +3,7 @@ title: "Configuring Streaming Replication" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/configuring_streaming_replication.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/configuring_streaming_replication.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/15_configuring_ssl_authentication.mdx b/product_docs/docs/efm/4.0/efm_user/15_configuring_ssl_authentication.mdx index d6eba350b5a..61e1a171302 100644 --- a/product_docs/docs/efm/4.0/efm_user/15_configuring_ssl_authentication.mdx +++ b/product_docs/docs/efm/4.0/efm_user/15_configuring_ssl_authentication.mdx @@ -3,7 +3,7 @@ title: "Configuring SSL Authentication on a Failover Manager Cluster" legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/configuring_ssl_authentication.html" + - "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/configuring_ssl_authentication.html" --- diff --git a/product_docs/docs/efm/4.0/efm_user/index.mdx b/product_docs/docs/efm/4.0/efm_user/index.mdx index 88de15b2672..ec9c73be97d 100644 --- a/product_docs/docs/efm/4.0/efm_user/index.mdx +++ b/product_docs/docs/efm/4.0/efm_user/index.mdx @@ -3,10 +3,10 @@ title: "EDB Failover Manager" #legacyRedirectsGenerated: # This list is generated by a script. If you need add entries, use the `legacyRedirects` key. - #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/whats_new.html" - #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/genindex.html" - #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/conclusion.html" - #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.1/index.html" + #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/whats_new.html" + #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/genindex.html" + #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/conclusion.html" + #- "/edb-docs/d/edb-postgres-failover-manager/user-guides/user-guide/4.0/index.html" --- **EDB Failover Manager** From 1179bc763e5cecc45755e72b71f06adc137e5079 Mon Sep 17 00:00:00 2001 From: sheetal Date: Tue, 20 Apr 2021 10:12:16 +0530 Subject: [PATCH 10/21] Minor tweak to pg_upgrade guide Former-commit-id: 75a0f76374148577fdb6329b5af552b21845482e --- .../03_upgrading_to_advanced_server.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/epas/13/epas_upgrade_guide/04_upgrading_an_installation_with_pg_upgrade/03_upgrading_to_advanced_server.mdx b/product_docs/docs/epas/13/epas_upgrade_guide/04_upgrading_an_installation_with_pg_upgrade/03_upgrading_to_advanced_server.mdx index 9cd6d89499f..90575819b31 100644 --- a/product_docs/docs/epas/13/epas_upgrade_guide/04_upgrading_an_installation_with_pg_upgrade/03_upgrading_to_advanced_server.mdx +++ b/product_docs/docs/epas/13/epas_upgrade_guide/04_upgrading_an_installation_with_pg_upgrade/03_upgrading_to_advanced_server.mdx @@ -100,7 +100,7 @@ Open the `Services` applet; highlight each Advanced Server or supporting compone Open a terminal window and manually stop each service at the command line. -**Step 5 for Linux only - Assume the identity of the cluster owner** +**Step 5 For Linux only - Assume the identity of the cluster owner** If you are using Linux, assume the identity of the Advanced Server cluster owner. (The following example assumes Advanced Server was installed in the default, compatibility with Oracle database mode, thus assigning `enterprisedb` as the cluster owner. If installed in compatibility with PostgreSQL database mode, `postgres` is the cluster owner.) @@ -122,7 +122,7 @@ cd /tmp Proceed to Step 6. -**Step 5 for Windows only - Assume the identity of the cluster owner** +**Step 5 For Windows only - Assume the identity of the cluster owner** If you are using Windows, open a terminal window, assume the identity of the Advanced Server cluster owner and set the path to the `pg_upgrade` executable. @@ -242,8 +242,8 @@ Performing Upgrade ------------------ Analyzing all rows in the new cluster ok Freezing all rows on the new cluster ok -Deleting files from new pg\_clog ok -Copying old pg\_clog to new server ok +Deleting files from new pg_clog ok +Copying old pg_clog to new server ok Setting next transaction ID for new cluster ok Resetting WAL archives ok Setting frozenxid counters in new cluster ok @@ -259,7 +259,7 @@ Creating script to delete old cluster ok Upgrade Complete ---------------- -Optimizer statistics are not transferred by pg\_upgrade so, +Optimizer statistics are not transferred by pg_upgrade so, once you start the new server, consider running: analyze_new_cluster.sh From e5ac524bf006acfecd19364ed3a74c5c6d9c38ba Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Tue, 20 Apr 2021 12:49:19 +0530 Subject: [PATCH 11/21] Updated the content of PEM 7.16 upgrade guide Updated the conent of PEM 7.16 Upgrade and Migration guide. Former-commit-id: cf5de4b0b4a33a3af2d7b2645524c304c15c8c68 --- .../01_upgrading_pem_installation_windows.mdx | 3 +++ ...ading_pem_installation_linux_graphical.mdx | 26 +++++++++---------- .../01_upgrading_pem_installation/index.mdx | 7 ++++- .../02_upgrading_backend_database.mdx | 3 --- .../7.16/pem_upgrade/03_moving_pem_server.mdx | 2 +- .../docs/pem/7.16/pem_upgrade/index.mdx | 6 ++--- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/01_upgrading_pem_installation_windows.mdx b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/01_upgrading_pem_installation_windows.mdx index 257d2f7b02b..a77c79ab1a7 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/01_upgrading_pem_installation_windows.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/01_upgrading_pem_installation_windows.mdx @@ -47,6 +47,9 @@ After the installation completes, a window pops-up to restart the machine. Click ![The PEM Agent Installer - Restart pop-up](../../images/pem_upgrade_agent_restart_pop_up.png) +!!! Note + If you are upgrading a Windows agent having the PEM version lower than 7.11 and you have already configured or are planning to configure any shell/batch script run by the Windows agent, you must set the `AllowBatchJobSteps` parameter to `True` in the `agent.cfg` file. By default, the PEM agent will not execute any batch/shell script. + ## Upgrading the PEM Server on a Windows Host The PEM Server installer facilitates upgrading directly between major versions of the PEM Server; you can upgrade directly from version 5.0 to version 7.16 without first upgrading to version 6.0. diff --git a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/04_upgrading_pem_installation_linux_graphical.mdx b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/04_upgrading_pem_installation_linux_graphical.mdx index 914f3466b38..d1bae6912b3 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/04_upgrading_pem_installation_linux_graphical.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/04_upgrading_pem_installation_linux_graphical.mdx @@ -54,14 +54,11 @@ The default installation location for the PEM Agent when installed by the graphi Where `X` is the OS version. !!! Note - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). + - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). - ``` - If you are a Red Hat Network user, - - - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the version of RHEL on the host. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages or please see the `Red Hat Subscription Management Guide` for the required repository. - - You must also enable the `rhel--server-extras-rpms` repository, where `x` specifies the version of the RHEL on the host. - ``` + - If you are a Red Hat Network user, + - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the version of RHEL on the host. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages or please see the `Red Hat Subscription Management Guide` for the required repository. + - You must also enable the `rhel--server-extras-rpms` repository, where `x` specifies the version of the RHEL on the host. 3. Install and configure the `edb.repo` file: @@ -127,7 +124,7 @@ The default installation location for the PEM Agent when installed by the graphi ``` !!! Note - The Package Mangement and Stremaing Replication features are deprecated from PEM 7.16 version. Please remove these parameters from agent.cfg file while copying the file if existing - allow_package_management and allow_streaming_replication, to avoid any warning messages in the worker log file after PEM Agent service restart. + The Package Management and Streaming Replication features are deprecated from PEM 7.16 version. Please remove these parameters from `agent.cfg` file while copying the file if existing - `allow_package_management` and `allow_streaming_replication`, to avoid any warning messages in the worker log file after the PEM Agent service restart. a. Open the agent configuration file located at: @@ -191,6 +188,9 @@ The default installation location for the PEM Agent when installed by the graphi At this point, the PEM agent should be up and running; you can use the PEM web interface to check the agent version and status. +!!! Note + If you have already configured or are planning to configure any shell/batch script run by a Linux agent that is upgraded from any version prior to version 7.11, you must modify the `agent.cfg` file and specify the user for the `batch_script_user` parameter. It is strongly recommended that you use a non-root user to run the scripts. Using the root user when running a script may result in compromising the data security and operating system security. However, if you want to restore the earlier behavior of the PEM agent and use the root user to run the scripts, then you need to set the value of `batch_script_user` parameter to `root`. + ## Upgrading a PEM Server that was Installed with a Graphical Installer The default installation location for the PEM server when installed by the graphical installer is `/opt/edb/pem`. In the example that follows, substitute your server installation location for ``. @@ -221,12 +221,10 @@ The default installation location for the PEM server when installed by the graph Where `` is the OS version. !!! Note - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). - - If you are a Red Hat Network user, - - - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the version of RHEL on the host. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages or please see the `Red Hat Subscription Management Guide` for the required repository. - - You must also enable the `rhel--server-extras-rpms` repository, where `x` specifies the version of the RHEL on the host. + - You may need to enable the `[extras]` repository definition in the `CentOS-Base.repo` file (located in `/etc/yum.repos.d`). + - If you are a Red Hat Network user, + - You must also enable the `rhel--server-optional-rpms` repository to use EPEL packages, where *x* specifies the version of RHEL on the host. You can make the repository accessible by enabling the `RHEL optional subchannel` for `RHN-Classic`. If you have a certificate-based subscription, then you must also enable `rhel--server-eus-optional-rpms` repository to use EPEL packages or please see the `Red Hat Subscription Management Guide` for the required repository. + - You must also enable the `rhel--server-extras-rpms` repository, where `x` specifies the version of the RHEL on the host. 4. Install and configure edb.repo file: diff --git a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/index.mdx b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/index.mdx index 360690ac9ac..77ddd19201f 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/index.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/01_upgrading_pem_installation/index.mdx @@ -2,7 +2,12 @@ title: "Upgrading a PEM Installation" --- -The process of upgrading a PEM installation is platform-specific. You can update a PEM Agent or Server on a Windows host by using the PEM graphical installer available for Windows. Prior to PEM 7.8 release, PEM Agent or Server could be installed on Linux either by using the graphical installer or by using the RPMs. From PEM version 7.8 onwards, PEM graphical installers for Linux are discontinued. To update a PEM Agent or Server on a Linux host from any lower version to PEM 7.9 or higher versions, you must use native packages. +The process of upgrading a PEM installation is platform-specific. + +- For Windows, you can update a PEM Agent or Server using the PEM graphical installer. +- For Linux, + - Prior to PEM 7.8 version, PEM Agent or Server could be installed on Linux either by using the graphical installer or by using the RPMs. + - From PEM 7.8 version onwards, PEM graphical installers for Linux are discontinued. To update a PEM Agent or Server from any lower version to higher versions, you must use native packages. Links to PEM and SQL Profiler installers and RPMs are available at the [EDB website](https://www.enterprisedb.com/downloads/edb-postgres-enterprise-manager). diff --git a/product_docs/docs/pem/7.16/pem_upgrade/02_upgrading_backend_database.mdx b/product_docs/docs/pem/7.16/pem_upgrade/02_upgrading_backend_database.mdx index 051ed317956..d8cca457635 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/02_upgrading_backend_database.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/02_upgrading_backend_database.mdx @@ -4,9 +4,6 @@ title: "Upgrading the PEM Backend Postgres Database" If you are updating both PEM components and the PEM backend database, you should perform PEM component updates (the server and Agent) before updating the backend database. For more information about updating PEM component software, see [Upgrading a PEM Installation](01_upgrading_pem_installation/#upgrading_pem_installation). -!!! Note - From PEM 8.0 onwards, the PostgreSQL or EPAS version 11 or higher are only supported as backend database server. Hence if your backend database server is lower than version 11 then first you need to upgrade your backend database server and then upgrade the PEM components. - The update process described in this section uses the `pg_upgrade` utility to migrate from one version of the backend server to a more recent version. `pg_upgrade` facilitates migration between any supported version of Postgres, and any subsequent release of Postgres that is supported on the same platform. !!! Note diff --git a/product_docs/docs/pem/7.16/pem_upgrade/03_moving_pem_server.mdx b/product_docs/docs/pem/7.16/pem_upgrade/03_moving_pem_server.mdx index fc0d1734201..00bfe6e0679 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/03_moving_pem_server.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/03_moving_pem_server.mdx @@ -256,7 +256,7 @@ Before starting the server migration, you should ensure that the firewalls betwe Where `file_name` specifies the name of the file. - Permissions and Ownership on Windows + **Permissions and Ownership on Windows** On Windows, the certificate files moved from the source host must be owned by the service account that performed the PEM server and backend database installation on the target host. If you invoked the PEM server and Postgres installer using the `Run as Administrator` option (selected from the context menu of the installer), the owner of the certificate files will be `Administrators`. diff --git a/product_docs/docs/pem/7.16/pem_upgrade/index.mdx b/product_docs/docs/pem/7.16/pem_upgrade/index.mdx index 0663f5f1deb..03614c42132 100644 --- a/product_docs/docs/pem/7.16/pem_upgrade/index.mdx +++ b/product_docs/docs/pem/7.16/pem_upgrade/index.mdx @@ -4,10 +4,10 @@ title: "PEM Upgrade and Migration" This guide provides detailed information about upgrading the Postgres Enterprise Manager (PEM) Components: -- **Upgrading a PEM Installation** - This section provides information about upgrading your PEM Server, PEM Agent and SQL Profiler from one major version to another (i.e. from 6.0 to 7.14). -- **Upgrading the Backend Database** - This section provides detailed information about upgrading the backend database, while maintaining the same version of the PEM Server. +- **Upgrading a PEM Installation** - This section provides information about upgrading your PEM Server, PEM Agent, and SQL Profiler from one major version to another. +- **Upgrading the Backend Database** - This section provides detailed information about upgrading the backend database while maintaining the same version of the PEM Server. - **Moving a PEM Server** –This section provides detailed information about moving the PEM Server from one host to another host. -- **Troubleshooting** –This section provides detailed information about troubleshooting the errors that you may encounter during PEM upgrade. +- **Troubleshooting** –This section provides detailed information about troubleshooting the errors that you may encounter during the PEM upgrade. This document uses the term `Postgres` to mean either the PostgreSQL or the Advanced Server database. From 2bae7a4261eaf9a00653849493180967ad531e95 Mon Sep 17 00:00:00 2001 From: Abhilasha Narendra Date: Tue, 20 Apr 2021 15:28:38 +0530 Subject: [PATCH 12/21] Fixing review comment for EFM HA Guide Former-commit-id: 487dd6949a14d30200a8c5fdda6d5e3dfffd4e27 --- .../03_components_ha_pgpool.mdx | 73 +++++++++++++++++-- 1 file changed, 67 insertions(+), 6 deletions(-) diff --git a/product_docs/docs/efm/4.2/efm_pgpool_ha_guide/03_components_ha_pgpool.mdx b/product_docs/docs/efm/4.2/efm_pgpool_ha_guide/03_components_ha_pgpool.mdx index 0e6dda4953c..e1e33d397a2 100644 --- a/product_docs/docs/efm/4.2/efm_pgpool_ha_guide/03_components_ha_pgpool.mdx +++ b/product_docs/docs/efm/4.2/efm_pgpool_ha_guide/03_components_ha_pgpool.mdx @@ -47,13 +47,22 @@ backend_flag2 = 'DISALLOW_TO_FAILOVER' **Enable Load-balancing and streaming replication mode** -Set the following configuration parameter in the `pgpool.conf` file to enable load balancing and streaming replication mode +Set the following configuration parameter in the `pgpool.conf` file to enable load balancing and streaming replication mode: -```text -master_slave_mode = on -master_slave_sub_mode = 'stream' -load_balance_mode = on -``` +- For Pgpool version 4.2: + + ```text + backend_clustering_mode = 'streaming_replication' + load_balance_mode = on + ``` + +- For Pgpool versions prior to 4.2: + + ```text + master_slave_mode = on + master_slave_sub_mode = 'stream' + load_balance_mode = on + ``` **Disable health-checking and failover** @@ -98,6 +107,54 @@ Note that in a failure situation of the active instance of Pgpool (The Primary P Watchdog provides the high availability of Pgpool-II nodes. This section lists the configuration required for watchdog on each Pgpool-II node. + +### Configuring Pgpool-II Watchdog for Pgpool version 4.2 + +Unlike 4.1 or prior versions, you need to keep all the watchdog parameters identical on all the hosts while configuring Pgpool version 4.2. + +The following configuration parameters enable and configure the watchdog. The interval and retry values can be adjusted depending upon the requirements and testing results. + +```text +use_watchdog = on # enable watchdog +delegate_IP = ‘Virtual IP address’ +wd_lifecheck_method = 'heartbeat' +wd_interval = 10 # we can lower this value for quick detection +wd_life_point = 3 +# virtual IP control +ifconfig_path = '/sbin' # ifconfig command path +if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0' + # startup delegate IP command +if_down_cmd = 'ifconfig eth0:0 down' # shutdown delegate IP command +arping_path = '/usr/sbin' # arping command path +hostname0 = 'node-1' +pgpool_port0 = 9999 +wd_port0 = 9000 + +hostname1 = 'node-2' +pgpool_port1 = 9999 +wd_port1 = 9000 + +heartbeat_hostname0 = 'node-1' +heartbeat_port0 = 9694 +heartbeat_device0 = '' + +heartbeat_hostname1 = 'node-2' +heartbeat_port1 = 9694 +heartbeat_device1 = '' +``` + +Since some of the parameters would be same on all the nodes, you need to specify a mechanism to distinguish between local and remote watchdog nodes. For this purpose, you can create `pgpool_node_id` file in `pgpool.conf` directory with value 0,1, and 2 on node-1, node-2,node-3 respectively. The ownership and permissions for this file would be the same as `pgpool.conf` file. + +The following is an example of the file on the first node: + +```text +[root@ONE efm-4.2]}> cat /etc/sysconfig/edb/pgpool4.2/pgpool_node_id +0 +[root@ONE efm-4.2]}> +``` + +### Configuring Pgpool-II Watchdog for Pgpool versions prior to 4.2 + **Common watchdog configurations on all Pgpool nodes** The following configuration parameters enable and configure the watchdog. The interval and retry values can be adjusted depending upon the requirements and testing results. @@ -155,3 +212,7 @@ other_pgpool_port1 = 9999 other_wd_port1 = 9000 wd_priority = 5 # use high watchdog priority on server 4 ``` + +!!! Note + Replace the value of eth0 with the network interface on your system. See [Chapter 5](05_appendix_b/#configuration-for-number-of-connections-and-pooling) for tuning the number of connections, and pooling configuration. + From 8c955328a8c99d0816d8ceffb5d97efc227b362d Mon Sep 17 00:00:00 2001 From: josh-heyer Date: Tue, 20 Apr 2021 10:22:28 +0000 Subject: [PATCH 13/21] New PDFs generated by Github Actions Former-commit-id: b5bdf8c2aa14b28c8398ed1c32fc1815efd89ddf From 9ddf5330f30ab714b01e5e863de8909387feb320 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Tue, 20 Apr 2021 17:55:00 +0530 Subject: [PATCH 14/21] Updated the content of PEM 7.16 SQL Profiler Guide Updated the content of PEM 7.16 SQL Profiler Guide Former-commit-id: f92c62c18b10e1bd2ff585c87b8569a0e0240723 --- .../docs/pem/7.16/pem_sqlprofiler/02_using_sql_profiler.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/pem/7.16/pem_sqlprofiler/02_using_sql_profiler.mdx b/product_docs/docs/pem/7.16/pem_sqlprofiler/02_using_sql_profiler.mdx index 7a664c26ab2..fbb679b22eb 100644 --- a/product_docs/docs/pem/7.16/pem_sqlprofiler/02_using_sql_profiler.mdx +++ b/product_docs/docs/pem/7.16/pem_sqlprofiler/02_using_sql_profiler.mdx @@ -129,7 +129,7 @@ The `Scheduled traces...` dialog displays a list of the traces that are awaiting ## Using the Index Advisor -Index Advisor is distributed with Advanced Server 9.0 and above. Index Advisor works with SQL Profiler by examining collected SQL statements and making indexing recommendations for any underlying tables to improve SQL response time. The Index Advisor works on all DML (INSERT, UPDATE, DELETE) and SELECT statements that are invoked by a superuser. +Index Advisor is distributed with Advanced Server's [supported versions](https://www.enterprisedb.com/product-compatibility). Index Advisor works with SQL Profiler by examining collected SQL statements and making indexing recommendations for any underlying tables to improve SQL response time. The Index Advisor works on all DML (INSERT, UPDATE, DELETE) and SELECT statements that are invoked by a superuser. Diagnostic output from the Index Advisor includes: From a490bdce08d44fdcc109a4fa019e6ecff3777130 Mon Sep 17 00:00:00 2001 From: nidhibhammar <59045594+nidhibhammar@users.noreply.github.com> Date: Tue, 20 Apr 2021 18:09:25 +0530 Subject: [PATCH 15/21] Updated the content of PEM 7.16 BART maangement guide Updated the content of PEM 7.16 BART maangement guide Former-commit-id: eec3af48a3a563b2b951952ffc293b40c05a0a6e --- product_docs/docs/pem/7.16/pem_bart/01_managing_bart.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/product_docs/docs/pem/7.16/pem_bart/01_managing_bart.mdx b/product_docs/docs/pem/7.16/pem_bart/01_managing_bart.mdx index 7718867e422..da3ace761e4 100644 --- a/product_docs/docs/pem/7.16/pem_bart/01_managing_bart.mdx +++ b/product_docs/docs/pem/7.16/pem_bart/01_managing_bart.mdx @@ -61,8 +61,6 @@ Use the fields on the `Misc` tab to describe the backup-related properties of th - Use the `Socket dir path` field to specify the path to the socket directory where all BART sockets will be stored. The default directory is `/tmp`. This parameter is added from BART version 2.5.2 onwards. -- Use the `Socket name` field to specify a user-friendly BART socket file name. Using this option overrides the default BART socket name generated using MD5 checksum. This parameter is added from BART version 2.5.6 onwards. - - Use the `WAL compression?` switch to specify if you want to compress the archived Xlog/WAL files in Gzip format. To enable WAL compression, the gzip compression program must be present in the BART user account’s PATH. The WAL compression setting must not be enabled for those database servers where you need to take incremental backups. - Use the `Copy WALs during restore?` field to specify how the archived WAL files are collected when invoking the RESTORE operation. Set to enabled to copy the archived WAL files from the BART backup catalog to the `restore_path/archived_wals` directory prior to the database server archive recovery. Set to `disabled` to retrieve the archived WAL files directly from the BART backup catalog during the database server archive recovery. Enabling this option helps you save time during the restore operation. From 4b6f651fc693d1e4abdc2d595eb28d90b3fe4743 Mon Sep 17 00:00:00 2001 From: josh-heyer Date: Tue, 20 Apr 2021 13:01:11 +0000 Subject: [PATCH 16/21] New PDFs generated by Github Actions Former-commit-id: 4dfe6e75ebbcf1649e8b64e8c2a52ad0b757309e From c0a80eff8a7e709039dfca8c9a863b6e0ad4bf22 Mon Sep 17 00:00:00 2001 From: sheetal Date: Wed, 21 Apr 2021 14:25:41 +0530 Subject: [PATCH 17/21] DB-980 Add details for incorrect usage of SQL expressions in date mask column of control file Former-commit-id: 071495d439d1f430eba4c276c86ea1adb52eee20 --- .../epas_compat_tools_guide/02_edb_loader.mdx | 80 +-- .../epas_compat_tools_guide/03_edb_wrap.mdx | 24 +- ...strumentation_tools_architecture_DRITA.mdx | 454 ++++++++---------- 3 files changed, 241 insertions(+), 317 deletions(-) diff --git a/product_docs/docs/epas/13/epas_compat_tools_guide/02_edb_loader.mdx b/product_docs/docs/epas/13/epas_compat_tools_guide/02_edb_loader.mdx index 1f0c1e9ded9..76749c78b9a 100644 --- a/product_docs/docs/epas/13/epas_compat_tools_guide/02_edb_loader.mdx +++ b/product_docs/docs/epas/13/epas_compat_tools_guide/02_edb_loader.mdx @@ -118,9 +118,9 @@ LOAD DATA [ WHEN [ AND ] ...] [ FIELDS TERMINATED BY '' [ OPTIONALLY ENCLOSED BY '' ] ] -[ RECORDS DELIMITED BY '' ] -[ TRAILING NULLCOLS ] - ( [, ] ...) + [ RECORDS DELIMITED BY '' ] + [ TRAILING NULLCOLS ] + ( [, ] ...) } ... ``` @@ -140,9 +140,9 @@ where `field_def` defines a field in the specified `data_file` that describes th where `fieldtype` is one of: ```text -CHAR [()] | DATE [()] [ "" ] | +CHAR [()] | DATE [()] | TIMESTAMP [()] [ "" ] | INTEGER EXTERNAL [()] | -FLOAT EXTERNAL [()] | DECIMAL EXTERNAL [(length)] | +FLOAT EXTERNAL [()] | DECIMAL EXTERNAL [()] | ZONED EXTERNAL [()] | ZONED [( [,])] ``` @@ -334,7 +334,7 @@ If the `FIELDS TERMINATED BY` clause is specified, then the `POSITION (start:end Conditional clause taking the following form: ``` -[ ( ] { (start:end) | column_name } { = | != | <> }` `'val' [ ) ] +[ ( ] { (start:end) | column_name } { = | != | <> } 'val' [ ) ] ``` This conditional clause is used for the `WHEN` clause, which is part of the `INTO TABLE target_table` clause, and the `NULLIF` clause, which is part of the field definition denoted as `field_def` in the syntax diagram. @@ -375,7 +375,7 @@ If the `FIELDS TERMINATED BY` clause is specified, then the `POSITION (start:end `column_name` - Name of a column in `target_table` into which a field value defined by `field_def` is to be inserted. If the field definition includes the `FILLER` or `BOUNDFILLER` clause, then `column_name` is not required t be the name of a column in the table. It can be any identifier name since the `FILLER` and `BOUNDFILLER` clauses prevent the loading of the field data into a table column. + Name of a column in `target_table` into which a field value defined by `field_def` is to be inserted. If the field definition includes the `FILLER` or `BOUNDFILLER` clause, then `column_name` is not required to be the name of a column in the table. It can be any identifier name since the `FILLER` and `BOUNDFILLER` clauses prevent the loading of the field data into a table column. `CONSTANT val` @@ -402,7 +402,7 @@ If the `FIELDS TERMINATED BY` clause is specified, then the `POSITION (start:end Defines the location of the field in a record in a fixed-width field data file. `start` and `end` are positive integers. The first character in the record has a start value of `1`. ``` -CHAR [()] | DATE [()] [ "" ] | +CHAR [()] | DATE [()] | TIMESTAMP [()] [ "" ] | INTEGER EXTERNAL [()] | @@ -441,7 +441,19 @@ ZONED EXTERNAL [()] | ZONED [([,])] Specifies the ordering and abbreviation of the day, month, and year components of a date field. - **Note**: If the `DATE` field type is specified along with a SQL expression for the column, then `datemask` must be specified after `DATE` and before the SQL expression. See the following discussion of the `expr` parameter. + **Note**: If the `DATE` or `TIMESTAMP` field type is specified along with a SQL expression for the column, then `datemask` must be specified after `DATE` or `TIMESTAMP` and before the SQL expression. See the following discussion of the `expr` parameter. + + When using the `TIMESTAMP` field datatype, if you specify `time_stamp timestamp "yyyymmddhh24miss"` the `datemask` is converted to the SQL expression. However, in case of `time_stamp timestamp "select to_timestamp(:time_stamp, 'yyyymmddhh24miss')"`, the EDB*Loader cannot differentiate between datemask and the SQL expression. It treats the third field (SQL expression in the example) as datemask and prepares the SQL expression, which will not be valid. Where: + +- `first field` specifies the column name +- `second field` specifies the datatype +- `third field` specifies the datemask + +If you want to provide an SQL expression, then the simple workaround is to specify the datemask and SQL expression using the `TO_CHAR` function as: + +```text +time_stamp timestamp "yyyymmddhh24miss" "to_char(to_timestamp(:time_stamp, 'yyyymmddhh24miss'), 'yyyymmddhh24miss')" +``` `NULLIF field_condition [ AND field_condition ] ...` @@ -466,7 +478,7 @@ ZONED EXTERNAL [()] | ZONED [([,])] The following is the syntax for use of the `SELECT` statement: ``` - "(SELECT expr [ FROM table_list [ WHERE condition ] ])" + "(SELECT [ FROM [ WHERE ] ])" ``` !!! Note @@ -591,9 +603,9 @@ LOAD DATA The following is the corresponding data file. The content is a single, physical record in the data file. The record delimiter character is included following the last record (that is, at the end of the file). ```text -9101,ROGERS,CLERK,7902,17-DEC-10,1980.00,20,;9102,PETERSON,SALESMAN,7698,20- -DEC-10,2600.00,30,2300.00;9103,WARREN,SALESMAN,7698,22-DEC- -10,5250.00,30,2500.00;9104,"JONES, JR.",MANAGER,7839,02-APR-09,7975.00,20,; +9101,ROGERS,CLERK,7902,17-DEC-10,1980.00,20,;9102,PETERSON,SALESMAN,7698,20-DEC-10, +2600.00,30,2300.00;9103,WARREN,SALESMAN,7698,22-DEC-10,5250.00,30,2500.00;9104,"JONES, +JR.",MANAGER,7839,02-APR-09,7975.00,20,; ``` **FILLER Clause** @@ -818,8 +830,7 @@ LOAD DATA ( empno POSITION (1:4), ename POSITION (5:14), - job POSITION (15:23) "(SELECT dname FROM dept WHERE deptno = - :deptno)", + job POSITION (15:23) "(SELECT dname FROM dept WHERE deptno = :deptno)", mgr POSITION (24:27), hiredate POSITION (28:38), sal POSITION (39:46), @@ -941,27 +952,18 @@ The following are the rows loaded into the `emp_research` and `emp_sales` tables ```text SELECT * FROM emp_research; -empno | ename | job | mgr | hiredate | sal | comm | -deptno --------+------------+---------+------+--------------------+---------+------+- ------- - 9101 | ROGERS | CLERK | 7902 | 17-DEC-10 00:00:00 | 1980.00 | | - 20.00 - 9104 | JONES, JR. | MANAGER | 7839 | 02-APR-09 00:00:00 | 7975.00 | | - 20.00 +empno | ename | job | mgr | hiredate | sal | comm | deptno +-------+------------+---------+------+--------------------+---------+------+------- + 9101 | ROGERS | CLERK | 7902 | 17-DEC-10 00:00:00 | 1980.00 | | 20.00 + 9104 | JONES, JR. | MANAGER | 7839 | 02-APR-09 00:00:00 | 7975.00 | | 20.00 (2 rows) - SELECT * FROM emp_sales; -empno | ename | job | mgr | hiredate | sal | comm -| deptno --------+----------+----------+------+--------------------+---------+--------- -+-------- - 9102 | PETERSON | SALESMAN | 7698 | 20-DEC-10 00:00:00 | 2600.00 | 2950.00 - | 30.00 - 9103 | WARREN | SALESMAN | 7698 | 22-DEC-10 00:00:00 | 5250.00 | 3813.00 - | 30.00 +empno | ename | job | mgr | hiredate | sal | comm | deptno +-------+----------+----------+------+--------------------+---------+---------+-------- + 9102 | PETERSON | SALESMAN | 7698 | 20-DEC-10 00:00:00 | 2600.00 | 2950.00 | 30.00 + 9103 | WARREN | SALESMAN | 7698 | 22-DEC-10 00:00:00 | 5250.00 | 3813.00 | 30.00 (2 rows) ``` @@ -1150,7 +1152,7 @@ In the following example EDB\*Loader is invoked using a control file named `emp. ```text $ /usr/edb/as13/bin/edbldr -d edb USERID=enterprisedb/password CONTROL=emp.ctl -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. Successfully loaded (4) records ``` @@ -1162,7 +1164,7 @@ $ /usr/edb/as13/bin/edbldr -d edb CONTROL=emp.ctl BAD=/tmp/emp.bad LOG=/tmp/emp.log Enter the user name : enterprisedb Enter the password : -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. Successfully loaded (4) records ``` @@ -1183,7 +1185,7 @@ EDB\*Loader is invoked with the parameter file as shown by the following: $ /usr/edb/as13/bin/edbldr -d edb PARFILE=emp.par Enter the user name : enterprisedb Enter the password : -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. Successfully loaded (3) records ``` @@ -1193,7 +1195,7 @@ In the following example EDB\*Loader is invoked using a `connstr=` option using ```text $ /usr/edb/as13/bin/edbldr connstr=\"sslmode=verify-ca sslcompression=0 host=127.0.0.1 dbname=edb port=5444 user=enterprisedb\" CONTROL=emp.ctl -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. Successfully loaded (4) records ``` @@ -1244,7 +1246,7 @@ To run a direct path load, add the `DIRECT=TRUE` option as shown by the followin ```text $ /usr/edb/as13/bin/edbldr -d edb USERID=enterprisedb/password CONTROL=emp.ctl DIRECT=TRUE -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. Successfully loaded (4) records ``` @@ -1323,7 +1325,7 @@ The following shows the invocation of EDB\*Loader in the first session. The `DIR $ /usr/edb/as13/bin/edbldr -d edb USERID=enterprisedb/password CONTROL=emp_parallel_1.ctl DIRECT=TRUE PARALLEL=TRUE WARNING: index maintenance will be skipped with PARALLEL load -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. ``` The control file used for the second session appears as follows. Note that it is the same as the one used in the first session, but uses a different data file. @@ -1353,7 +1355,7 @@ The preceding control file is used in a second session as shown by the following $ /usr/edb/as13/bin/edbldr -d edb USERID=enterprisedb/password CONTROL=emp_parallel_2.ctl DIRECT=TRUE PARALLEL=TRUE WARNING: index maintenance will be skipped with PARALLEL load -EDB*Loader: Copyright (c) 2007-2020, EnterpriseDB Corporation. +EDB*Loader: Copyright (c) 2007-2021, EnterpriseDB Corporation. ``` EDB\*Loader displays the following message in each session when its respective load operation completes: diff --git a/product_docs/docs/epas/13/epas_compat_tools_guide/03_edb_wrap.mdx b/product_docs/docs/epas/13/epas_compat_tools_guide/03_edb_wrap.mdx index 8e6f7fd4cb7..a91f7a5c5b9 100644 --- a/product_docs/docs/epas/13/epas_compat_tools_guide/03_edb_wrap.mdx +++ b/product_docs/docs/epas/13/epas_compat_tools_guide/03_edb_wrap.mdx @@ -27,7 +27,7 @@ The entire source file is wrapped into one unit. Any `psql` meta-commands includ EDB\*Wrap is a command line utility; it accepts a single input source file, obfuscates the contents and returns a single output file. When you invoke the `edbwrap` utility, you must provide the name of the file that contains the source code to obfuscate. You may also specify the name of the file where `edbwrap` will write the obfuscated form of the code. `edbwrap` offers three different command-line styles. The first style is compatible with Oracle's `wrap` utility: ```text -edbwrap iname= [oname= ] +edbwrap iname= [oname=] ``` The `iname=input_file` argument specifies the name of the input file; if `input_file` does not contain an extension, `edbwrap` will search for a file named `input_file.sql` @@ -72,7 +72,7 @@ BEGIN                                                     LOOP                                                      FETCH emp_cur INTO v_empno, v_ename;                  EXIT WHEN emp_cur%NOTFOUND;                  -         DBMS_OUTPUT.PUT_LINE(v_empno \|\| '     ' \|\| v_ename); +         DBMS_OUTPUT.PUT_LINE(v_empno || '     ' || v_ename);      END LOOP;                                                     CLOSE emp_cur;                                           END;                                                         @@ -85,10 +85,10 @@ You can import the `list_emp` procedure with a client application such as `edb-p [bash] edb-psql edb Welcome to edb-psql 8.4.3.2, the EnterpriseDB interactive terminal. Type:  \copyright for distribution terms -       \h for help with SQL commands     -       \? for help with edb-psql commands -       \g or terminate with semicolon to execute query -       \q to quit                                      +       \h for help with SQL commands     +       \? for help with edb-psql commands +     \g or terminate with semicolon to execute query +      \q to quit                                      edb=# \i listemp.sql CREATE PROCEDURE ``` @@ -111,7 +111,7 @@ edb=# SELECT prosrc FROM pg_proc WHERE proname = 'list_emp';      LOOP                                                               FETCH emp_cur INTO v_empno, v_ename;                           EXIT WHEN emp_cur%NOTFOUND;                           -         DBMS_OUTPUT.PUT_LINE(v_empno \|\| '     ' \|\| v_ename);  +         DBMS_OUTPUT.PUT_LINE(v_empno || '     ' || v_ename);       END LOOP;                                                      CLOSE emp_cur;                                              END                                                           @@ -126,7 +126,7 @@ Next, obfuscate the plaintext file with EDB\*Wrap: [bash] edbwrap -i listemp.sql                                         EDB*Wrap Utility: Release 8.4.3.2 -Copyright (c) 2004-2020 EnterpriseDB Corporation.  All Rights Reserved. +Copyright (c) 2004-2021 EnterpriseDB Corporation.  All Rights Reserved. Using encoding UTF8 for input Processing listemp.sql to listemp.plb @@ -154,10 +154,10 @@ You can import the obfuscated code into the PostgreSQL server using the same too [bash] edb-psql edb Welcome to edb-psql 8.4.3.2, the EnterpriseDB interactive terminal. Type:  \copyright for distribution terms -       \h for help with SQL commands -       \? for help with edb-psql commands -       \g or terminate with semicolon to execute query -       \q to quit +       \h for help with SQL commands +       \? for help with edb-psql commands +     \g or terminate with semicolon to execute query +      \q to quit edb=# \i listemp.plb CREATE PROCEDURE diff --git a/product_docs/docs/epas/13/epas_compat_tools_guide/04_dynamic_runtime_instrumentation_tools_architecture_DRITA.mdx b/product_docs/docs/epas/13/epas_compat_tools_guide/04_dynamic_runtime_instrumentation_tools_architecture_DRITA.mdx index 2dcdc051fac..56909a74c05 100644 --- a/product_docs/docs/epas/13/epas_compat_tools_guide/04_dynamic_runtime_instrumentation_tools_architecture_DRITA.mdx +++ b/product_docs/docs/epas/13/epas_compat_tools_guide/04_dynamic_runtime_instrumentation_tools_architecture_DRITA.mdx @@ -124,7 +124,7 @@ SELECT * FROM sys_rpt(9, 10, 10); sys_rpt ----------------------------------------------------------------------------- WAIT NAME COUNT WAIT TIME % WAIT ---------------------------------------------------------------------------- +----------------------------------------------------------------------------- wal flush 8359 1.357593 30.62 wal write 8358 1.349153 30.43 wal file sync 8358 1.286437 29.02 @@ -176,28 +176,17 @@ The following example demonstrates a call to the `sess_rpt()` function: SELECT * FROM sess_rpt(8, 9, 10); sess_rpt ------------------------------------------------------------------------------ --------- -ID USER WAIT NAME COUNT TIME % WAIT SES % -WAIT ALL ------------------------------------------------------------------------------ --------- -3501 enterprise wal flush 8354 1.354958 30.61 -30.61 -3501 enterprise wal write 8354 1.348192 30.46 -30.46 -3501 enterprise wal file sync 8354 1.285607 29.04 -29.04 -3501 enterprise query plan 33413 0.436901 9.87 -9.87 -3501 enterprise db file extend 54 0.000578 0.01 -0.01 -3501 enterprise db file read 56 0.000541 0.01 -0.01 -3501 enterprise ProcArrayLock 0 0.000000 0.00 -0.00 -3501 enterprise CLogControlLock 0 0.000000 0.00 -0.00 +------------------------------------------------------------------------------------- +ID USER WAIT NAME COUNT TIME % WAIT SES % WAIT ALL +------------------------------------------------------------------------------------- +3501 enterprise wal flush 8354 1.354958 30.61 30.61 +3501 enterprise wal write 8354 1.348192 30.46 30.46 +3501 enterprise wal file sync 8354 1.285607 29.04 29.04 +3501 enterprise query plan 33413 0.436901 9.87 9.87 +3501 enterprise db file extend 54 0.000578 0.01 0.01 +3501 enterprise db file read 56 0.000541 0.01 0.01 +3501 enterprise ProcArrayLock 0 0.000000 0.00 0.00 +3501 enterprise CLogControlLock 0 0.000000 0.00 0.00 (10 rows) ``` @@ -243,28 +232,17 @@ The following code sample demonstrates a call to `sessid_rpt()`: SELECT * FROM sessid_rpt(8, 9, 3501); sessid_rpt ------------------------------------------------------------------------------ --------- -ID USER WAIT NAME COUNT TIME % WAIT SES % -WAIT ALL ------------------------------------------------------------------------------ --------- -3501 enterprise CLogControlLock 0 0.000000 0.00 -0.00 -3501 enterprise ProcArrayLock 0 0.000000 0.00 -0.00 -3501 enterprise db file read 56 0.000541 0.01 -0.01 -3501 enterprise db file extend 54 0.000578 0.01 -0.01 -3501 enterprise query plan 33413 0.436901 9.87 -9.87 -3501 enterprise wal file sync 8354 1.285607 29.04 -29.04 -3501 enterprise wal write 8354 1.348192 30.46 -30.46 -3501 enterprise wal flush 8354 1.354958 30.61 -30.61 +------------------------------------------------------------------------------------- +ID USER WAIT NAME COUNT TIME % WAIT SES % WAIT ALL +------------------------------------------------------------------------------------- +3501 enterprise CLogControlLock 0 0.000000 0.00 0.00 +3501 enterprise ProcArrayLock 0 0.000000 0.00 0.00 +3501 enterprise db file read 56 0.000541 0.01 0.01 +3501 enterprise db file extend 54 0.000578 0.01 0.01 +3501 enterprise query plan 33413 0.436901 9.87 9.87 +3501 enterprise wal file sync 8354 1.285607 29.04 29.04 +3501 enterprise wal write 8354 1.348192 30.46 30.46 +3501 enterprise wal flush 8354 1.354958 30.61 30.61 (10 rows) ``` @@ -581,11 +559,9 @@ The call to the `edbreport()` function returns a composite report that contains ```text SELECT * FROM edbreport(9, 10); edbreport ------------------------------------------------------------------------------ ---------- +-------------------------------------------------------------------------------------- EnterpriseDB Report for database acctg 25-JUL-18 - Version: PostgreSQL 13.0 (EnterpriseDB Advanced Server 13.0.0)on x86_64-pc- - linux-gnu, + Version: PostgreSQL 13.0 (EnterpriseDB Advanced Server 13.0.0)on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18), 64-bit Begin snapshot: 9 at 25-JUL-18 09:49:44.788392 @@ -596,14 +572,14 @@ Size of database acctg is 173 MB Tablespace: pg_default Size: 231 MB Owner: enterprisedb Tablespace: pg_global Size: 719 kB Owner: enterprisedb -Schema: pg_toast_temp_1 Size: 0 bytes Owner: enterprisedb -Schema: public Size: 158 MB Owner: enterprisedb +Schema: pg_toast_temp_1 Size: 0 bytes Owner: enterprisedb +Schema: public Size: 158 MB Owner: enterprisedb ``` The information displayed in the report introduction includes the database name and version, the current date, the beginning and ending snapshot date and times, database and tablespace details and schema information. ```text -Top 10 Relations by pages + Top 10 Relations by pages TABLE RELPAGES ----------------------------------------------------- @@ -627,7 +603,7 @@ The information displayed in the `Top 10 Relations by pages` section includes: | `RELPAGES` | The number of pages in the table. | ```text -Top 10 Indexes by pages + Top 10 Indexes by pages INDEX RELPAGES ----------------------------------------------------- @@ -640,8 +616,7 @@ pg_description_o_c_o_index 24 pg_attribute_relid_attnum_index 17 pg_proc_oid_index 14 pg_collation_name_enc_nsp_index 12 -edb$stat_idx_pk -10 +edb$stat_idx_pk 10 ``` The information displayed in the `Top 10 Indexes by pages` section includes: @@ -652,7 +627,7 @@ The information displayed in the `Top 10 Indexes by pages` section includes: | `RELPAGES` | The number of pages in the index. | ```text -Top 10 Relations by DML + Top 10 Relations by DML SCHEMA RELATION UPDATES DELETES INSERTS ---------------------------------------------------------------------------- @@ -673,14 +648,11 @@ The information displayed in the `Top 10 Relations by DML` section includes: | `INSERTS` | The number of INSERTS performed on the table. | ```text -DATA from pg_stat_database + DATA from pg_stat_database -DATABASE NUMBACKENDS XACT COMMIT XACT ROLLBACK BLKS READ BLKS HIT -HIT RATIO ------------------------------------------------------------------------------ --------- -acctg 0 8261 0 117 127985 -99.91 +DATABASE NUMBACKENDS XACT COMMIT XACT ROLLBACK BLKS READ BLKS HIT HIT RATIO +------------------------------------------------------------------------------------- +acctg 0 8261 0 117 127985 99.91 ``` The information displayed in the DATA from `pg_stat_database` section of the report includes: @@ -696,7 +668,7 @@ The information displayed in the DATA from `pg_stat_database` section of the rep | `HIT RATIO` | The percentage of times that a block was found in the shared buffer cache. | ```text -DATA from pg_buffercache + DATA from pg_buffercache RELATION BUFFERS ------------------------------------------- @@ -727,43 +699,31 @@ For more information on the `CREATE EXTENSION` command, see the PostgreSQL Core ```text -DATA from pg_stat_all_tables ordered by seq scan + DATA from pg_stat_all_tables ordered by seq scan -SCHEMA RELATION SEQ SCAN REL TUP READ -IDX SCAN + SCHEMA RELATION SEQ SCAN REL TUP READ IDX SCAN IDX TUP READ INS UPD DEL ------------------------------------------------------------------------------ --------- +----------------------------------------------------------------------------------------------- ---------------------------------- -public pgbench_branches 8258 82580 -0 + public pgbench_branches 8258 82580 0 0 0 8258 0 -public pgbench_tellers 8258 825800 -0 + public pgbench_tellers 8258 825800 0 0 0 8258 0 -pg_catalog pg_class 7 3969 -92 + pg_catalog pg_class 7 3969 92 80 0 0 0 -pg_catalog pg_index 5 950 -31 + pg_catalog pg_index 5 950 31 38 0 0 0 -pg_catalog pg_namespace 4 144 -5 + pg_catalog pg_namespace 4 144 5 4 0 0 0 -pg_catalog pg_database 2 12 -7 + pg_catalog pg_database 2 12 7 7 0 0 0 -pg_catalog pg_am 1 1 -0 + pg_catalog pg_am 1 1 0 0 0 0 0 -pg_catalog pg_authid 1 10 -2 + pg_catalog pg_authid 1 10 2 2 0 0 0 -sys callback_queue_table 0 0 -0 + sys callback_queue_table 0 0 0 0 0 0 0 -sys edb$session_wait_history 0 0 -0 + sys edb$session_wait_history 0 0 0 0 125 0 0 ``` @@ -782,31 +742,31 @@ The information displayed in the `DATA from pg_stat_all_tables ordered by seq sc | `DEL` | The number of rows deleted. | ```text -DATA from pg_stat_all_tables ordered by rel tup read + DATA from pg_stat_all_tables ordered by rel tup read -SCHEMA RELATION SEQ SCAN REL TUP READ IDX SCAN + SCHEMA RELATION SEQ SCAN REL TUP READ IDX SCAN IDX TUP READ INS UPD DEL --------------------------------------------------------------------------- -------------------------------------------- -public pgbench_tellers 8258 825800 0 + public pgbench_tellers 8258 825800 0 0 0 8258 0 -public pgbench_branches 8258 82580 0 + public pgbench_branches 8258 82580 0 0 0 8258 0 -pg_catalog pg_class 7 3969 92 + pg_catalog pg_class 7 3969 92 80 0 0 0 -pg_catalog pg_index 5 950 31 + pg_catalog pg_index 5 950 31 38 0 0 0 -pg_catalog pg_namespace 4 144 5 + pg_catalog pg_namespace 4 144 5 4 0 0 0 -pg_catalog pg_database 2 12 7 + pg_catalog pg_database 2 12 7 7 0 0 0 -pg_catalog pg_authid 1 10 2 + pg_catalog pg_authid 1 10 2 2 0 0 0 -pg_catalog pg_am 1 1 0 + pg_catalog pg_am 1 1 0 0 0 0 0 -sys callback_queue_table 0 0 0 + sys callback_queue_table 0 0 0 0 0 0 0 -sys edb$session_wait_history 0 0 0 + sys edb$session_wait_history 0 0 0 0 125 0 0 ``` @@ -825,33 +785,33 @@ The information displayed in the `DATA from pg_stat_all_tables ordered by rel tu | `DEL` | The number of rows deleted. | ```text -DATA from pg_statio_all_tables + DATA from pg_statio_all_tables -SCHEMA RELATION HEAP HEAP IDX IDX + SCHEMA RELATION HEAP HEAP IDX IDX TOAST TOAST TIDX TIDX READ HIT READ HIT READ HIT READ HIT -------------------------------------------------------------------------- --------------------------------------- -public pgbench_accounts 32 25016 0 49913 + public pgbench_accounts 32 25016 0 49913 0 0 0 0 -public pgbench_tellers 0 24774 0 0 + public pgbench_tellers 0 24774 0 0 0 0 0 0 -public pgbench_branches 0 16516 0 0 + public pgbench_branches 0 16516 0 0 0 0 0 0 -public pgbench_history 53 8364 0 0 + public pgbench_history 53 8364 0 0 0 0 0 0 -pg_catalog pg_class 0 199 0 187 + pg_catalog pg_class 0 199 0 187 0 0 0 0 -pg_catalog pg_attribute 0 198 0 395 + pg_catalog pg_attribute 0 198 0 395 0 0 0 0 -pg_catalog pg_proc 0 75 0 153 + pg_catalog pg_proc 0 75 0 153 0 0 0 0 -pg_catalog pg_index 0 56 0 33 + pg_catalog pg_index 0 56 0 33 0 0 0 0 -pg_catalog pg_amop 0 48 0 56 + pg_catalog pg_amop 0 48 0 56 0 0 0 0 -pg_catalog pg_namespace 0 28 0 7 + pg_catalog pg_namespace 0 28 0 7 0 0 0 0 ``` @@ -871,34 +831,31 @@ The information displayed in the `DATA from pg_statio_all_tables` section includ | `TIDX HIT` | The number of toast index blocks hit. | ```Text -DATA from pg_stat_all_indexes + DATA from pg_stat_all_indexes -SCHEMA RELATION INDEX + SCHEMA RELATION INDEX IDX SCAN IDX TUP READ IDX TUP FETCH ------------------------------------------------------------------------------ -- +------------------------------------------------------------------------------ ------------------------------------------- -public pgbench_accounts pgbench_accounts_pkey + public pgbench_accounts pgbench_accounts_pkey 16516 16679 16516 -pg_catalog pg_attribute + pg_catalog pg_attribute pg_attribute_relid_attnum_index 196 402 402 -pg_catalog pg_proc pg_proc_oid_index + pg_catalog pg_proc pg_proc_oid_index 70 70 70 -pg_catalog pg_class pg_class_oid_index + pg_catalog pg_class pg_class_oid_index 61 61 61 -pg_catalog pg_class -pg_class_relname_nsp_index + pg_catalog pg_class pg_class_relname_nsp_index 31 19 19 -pg_catalog pg_type pg_type_oid_index + pg_catalog pg_type pg_type_oid_index 22 22 22 -pg_catalog edb_policy -edb_policy_object_name_index + pg_catalog edb_policy edb_policy_object_name_index 21 0 0 -pg_catalog pg_amop pg_amop_fam_strat_index + pg_catalog pg_amop pg_amop_fam_strat_index 16 16 16 -pg_catalog pg_index pg_index_indexrelid_index + pg_catalog pg_index pg_index_indexrelid_index 16 16 16 -pg_catalog pg_index pg_index_indrelid_index + pg_catalog pg_index pg_index_indrelid_index 15 22 22 ``` @@ -914,31 +871,31 @@ The information displayed in the `DATA from pg_stat_all_indexes` section include | `IDX TUP FETCH` | Number of live table rows fetched by simple index scans using this index. | ```Text -DATA from pg_statio_all_indexes + DATA from pg_statio_all_indexes -SCHEMA RELATION INDEX + SCHEMA RELATION INDEX IDX BLKS READ IDX BLKS HIT ------------------------------------------------------------------------ ------------------------------------------ -public pgbench_accounts pgbench_accounts_pkey + public pgbench_accounts pgbench_accounts_pkey 0 49913 -pg_catalog pg_attribute + pg_catalog pg_attribute pg_attribute_relid_attnum_index 0 395 -sys edb$stat_all_indexes edb$stat_idx_pk + sys edb$stat_all_indexes edb$stat_idx_pk 1 382 -sys edb$statio_all_indexes edb$statio_idx_pk + sys edb$statio_all_indexes edb$statio_idx_pk 1 382 -sys edb$statio_all_tables edb$statio_tab_pk + sys edb$statio_all_tables edb$statio_tab_pk 2 262 -sys edb$stat_all_tables edb$stat_tab_pk + sys edb$stat_all_tables edb$stat_tab_pk 0 259 -sys edb$session_wait_history session_waits_hist_pk + sys edb$session_wait_history session_waits_hist_pk 0 251 -pg_catalog pg_proc pg_proc_oid_index + pg_catalog pg_proc pg_proc_oid_index 0 142 -pg_catalog pg_class pg_class_oid_index + pg_catalog pg_class pg_class_oid_index 0 123 -pg_catalog pg_class pg_class_relname_nsp_index + pg_catalog pg_class pg_class_relname_nsp_index 0 63 ``` @@ -953,7 +910,7 @@ The information displayed in the `DATA from pg_statio_all_indexes` section inclu | `IDX BLKS HIT` | The number of index blocks hit. | ```text -System Wait Information + System Wait Information WAIT NAME COUNT WAIT TIME % WAIT --------------------------------------------------------------------------- @@ -978,41 +935,41 @@ The information displayed in the `System Wait Information` section includes: | `% WAIT` | The percentage of the total wait time used by this wait for this session. | ```text -Database Parameters from postgresql.conf + Database Parameters from postgresql.conf -PARAMETER SETTING + PARAMETER SETTING CONTEXT MINVAL MAXVAL ---------------------------------------------------------------------- --------------------------------------------------- -allow_system_table_mods off + allow_system_table_mods off postmaster -application_name psql.bin + application_name psql.bin user -archive_command (disabled) + archive_command (disabled) sighup -archive_mode off + archive_mode off postmaster -archive_timeout 0 + archive_timeout 0 sighup 0 1073741823 -array_nulls on + array_nulls on user -authentication_timeout 60 + authentication_timeout 60 sighup 1 600 -autovacuum on + autovacuum on sighup -autovacuum_analyze_scale_factor 0.1 + autovacuum_analyze_scale_factor 0.1 sighup 0 100 -autovacuum_analyze_threshold 50 + autovacuum_analyze_threshold 50 sighup 0 2147483647 -autovacuum_freeze_max_age 200000000 + autovacuum_freeze_max_age 200000000 postmaster 100000 2000000000 -autovacuum_max_workers 3 + autovacuum_max_workers 3 postmaster 1 262143 -autovacuum_multixact_freeze_max_age 400000000 + autovacuum_multixact_freeze_max_age 400000000 postmaster 10000 2000000000 -autovacuum_naptime 60 + autovacuum_naptime 60 sighup 1 2147483 -autovacuum_vacuum_cost_delay 20 + autovacuum_vacuum_cost_delay 20 sighup -1 100 . . @@ -1055,16 +1012,12 @@ The following example demonstrates the `stat_db_rpt()` function: SELECT * FROM stat_db_rpt(9, 10); stat_db_rpt ------------------------------------------------------------------------------ --------- +------------------------------------------------------------------------------------- DATA from pg_stat_database -DATABASE NUMBACKENDS XACT COMMIT XACT ROLLBACK BLKS READ BLKS HIT -HIT RATIO ------------------------------------------------------------------------------ --------- -acctg 0 8261 0 117 127985 -99.91 +DATABASE NUMBACKENDS XACT COMMIT XACT ROLLBACK BLKS READ BLKS HIT HIT RATIO +------------------------------------------------------------------------------------- +acctg 0 8261 0 117 127985 99.91 (5 rows) ``` @@ -1119,43 +1072,31 @@ SELECT * FROM stat_tables_rpt(8, 9, 10, 'ALL'); stat_tables_rpt ---------------------------------------------------------------------------- - DATA from pg_stat_all_tables ordered by seq scan + DATA from pg_stat_all_tables ordered by seq scan -SCHEMA RELATION SEQ SCAN REL TUP READ -IDX SCAN + SCHEMA RELATION SEQ SCAN REL TUP READ IDX SCAN IDX TUP READ INS UPD DEL ------------------------------------------------------------------------------ --------- +------------------------------------------------------------------------------------- ---------------------------------- -public pgbench_branches 8249 82490 -0 + public pgbench_branches 8249 82490 0 0 0 8249 0 -public pgbench_tellers 8249 824900 -0 + public pgbench_tellers 8249 824900 0 0 0 8249 0 -pg_catalog pg_class 7 3969 -92 + pg_catalog pg_class 7 3969 92 80 0 0 0 -pg_catalog pg_index 5 950 -31 + pg_catalog pg_index 5 950 31 38 0 0 0 -pg_catalog pg_namespace 4 144 -5 + pg_catalog pg_namespace 4 144 5 4 0 0 0 -pg_catalog pg_am 1 1 -0 + pg_catalog pg_am 1 1 0 0 0 0 0 -pg_catalog pg_authid 1 10 -2 + pg_catalog pg_authid 1 10 2 2 0 0 0 -pg_catalog pg_database 1 6 -3 + pg_catalog pg_database 1 6 3 3 0 0 0 -sys callback_queue_table 0 0 -0 + sys callback_queue_table 0 0 0 0 0 0 0 -sys edb$session_wait_history 0 0 -0 + sys edb$session_wait_history 0 0 0 0 125 0 0 ``` @@ -1176,32 +1117,31 @@ The information displayed in the `DATA from pg_stat_all_tables ordered by seq sc The second portion of the report contains: ```text -DATA from pg_stat_all_tables ordered by rel tup read + DATA from pg_stat_all_tables ordered by rel tup read -SCHEMA RELATION SEQ SCAN REL TUP READ IDX -SCAN + SCHEMA RELATION SEQ SCAN REL TUP READ IDX SCAN IDX TUP READ INS UPD DEL ------------------------------------------------------------------------------ --------------------------------------- -public pgbench_tellers 8249 824900 0 +------------------------------------------------------------------------------------ +------------------------------------ + public pgbench_tellers 8249 824900 0 0 0 8249 0 -public pgbench_branches 8249 82490 0 + public pgbench_branches 8249 82490 0 0 0 8249 0 -pg_catalog pg_class 7 3969 92 + pg_catalog pg_class 7 3969 92 80 0 0 0 -pg_catalog pg_index 5 950 31 + pg_catalog pg_index 5 950 31 38 0 0 0 -pg_catalog pg_namespace 4 144 5 + pg_catalog pg_namespace 4 144 5 4 0 0 0 -pg_catalog pg_authid 1 10 2 + pg_catalog pg_authid 1 10 2 2 0 0 0 -pg_catalog pg_database 1 6 3 + pg_catalog pg_database 1 6 3 3 0 0 0 -pg_catalog pg_am 1 1 0 + pg_catalog pg_am 1 1 0 0 0 0 0 -sys callback_queue_table 0 0 0 + sys callback_queue_table 0 0 0 0 0 0 0 -sys edb$session_wait_history 0 0 0 + sys edb$session_wait_history 0 0 0 0 125 0 0 (29 rows) ``` @@ -1258,49 +1198,36 @@ The `statio_tables_rpt()` function returns a report that contains: SELECT * FROM statio_tables_rpt(9, 10, 10, 'SYS'); statio_tables_rpt ------------------------------------------------------------------------------ -------- +------------------------------------------------------------------------------------ ------------------------------- DATA from pg_statio_all_tables -SCHEMA RELATION HEAP HEAP IDX IDX -TOAST + SCHEMA RELATION HEAP HEAP IDX IDX TOAST TOAST TIDX TIDX - READ HIT READ HIT - READ + READ HIT READ HIT READ + HIT READ HIT ------------------------------------------------------------------------------ --------- +------------------------------------------------------------------------------------- ---------------------------- -sys edb$stat_all_indexes 8 18 1 382 -0 + sys edb$stat_all_indexes 8 18 1 382 0 0 0 0 -sys edb$statio_all_index 8 18 1 382 -0 + sys edb$statio_all_index 8 18 1 382 0 0 0 0 -sys edb$statio_all_table 5 12 2 262 -0 + sys edb$statio_all_table 5 12 2 262 0 0 0 0 -sys edb$stat_all_tables 4 10 0 259 -0 + sys edb$stat_all_tables 4 10 0 259 0 0 0 0 -sys edb$session_wait_his 2 6 0 251 -0 + sys edb$session_wait_his 2 6 0 251 0 0 0 0 -sys edb$session_waits 1 4 0 12 -0 + sys edb$session_waits 1 4 0 12 0 0 0 0 -sys callback_queue_table 0 0 0 0 -0 + sys callback_queue_table 0 0 0 0 0 0 0 0 -sys dual 0 0 0 0 -0 + sys dual 0 0 0 0 0 0 0 0 -sys edb$snap 0 1 0 2 -0 + sys edb$snap 0 1 0 2 0 0 0 0 -sys edb$stat_database 0 2 0 7 -0 + sys edb$stat_database 0 2 0 7 0 0 0 0 (15 rows) ``` @@ -1358,36 +1285,33 @@ The `stat_indexes_rpt()` function returns a report that contains: edb=# SELECT * FROM stat_indexes_rpt(9, 10, 10, 'ALL'); stat_indexes_rpt ------------------------------------------------------------------------------ --- +------------------------------------------------------------------------------- --------------------------------------------- DATA from pg_stat_all_indexes -SCHEMA RELATION INDEX + SCHEMA RELATION INDEX IDX SCAN IDX TUP READ IDX TUP FETCH ------------------------------------------------------------------------------ --- +------------------------------------------------------------------------------- ------------------------------------------ -public pgbench_accounts pgbench_accounts_pkey + public pgbench_accounts pgbench_accounts_pkey 16516 16679 16516 -pg_catalog pg_attribute -pg_attribute_relid_attnum_index 196 402 402 -pg_catalog pg_proc pg_proc_oid_index + pg_catalog pg_attribute +pg_attribute_relid_attnum_index 196 402 402 + pg_catalog pg_proc pg_proc_oid_index 70 70 70 -pg_catalog pg_class pg_class_oid_index + pg_catalog pg_class pg_class_oid_index 61 61 61 -pg_catalog pg_class pg_class_relname_nsp_index + pg_catalog pg_class pg_class_relname_nsp_index 31 19 19 -pg_catalog pg_type pg_type_oid_index + pg_catalog pg_type pg_type_oid_index 22 22 22 -pg_catalog edb_policy -edb_policy_object_name_index + pg_catalog edb_policy edb_policy_object_name_index 21 0 0 -pg_catalog pg_amop pg_amop_fam_strat_index + pg_catalog pg_amop pg_amop_fam_strat_index 16 16 16 -pg_catalog pg_index pg_index_indexrelid_index + pg_catalog pg_index pg_index_indexrelid_index 16 16 16 -pg_catalog pg_index pg_index_indrelid_index + pg_catalog pg_index pg_index_indrelid_index 15 22 22 (14 rows) ``` @@ -1443,33 +1367,31 @@ edb=# SELECT * FROM statio_indexes_rpt(9, 10, 10, 'SYS'); statio_indexes_rpt ---------------------------------------------------------------------------- ------------------------------------ - DATA from pg_statio_all_indexes + DATA from pg_statio_all_indexes -SCHEMA RELATION INDEX + SCHEMA RELATION INDEX IDX BLKS READ IDX BLKS HIT ---------------------------------------------------------------------------- --------------------------------- -pg_catalog pg_attribute + pg_catalog pg_attribute pg_attribute_relid_attnum_index 0 395 -sys edb$stat_all_indexes edb$stat_idx_pk + sys edb$stat_all_indexes edb$stat_idx_pk 1 382 -sys edb$statio_all_indexes edb$statio_idx_pk + sys edb$statio_all_indexes edb$statio_idx_pk 1 382 -sys edb$statio_all_tables edb$statio_tab_pk + sys edb$statio_all_tables edb$statio_tab_pk 2 262 -sys edb$stat_all_tables edb$stat_tab_pk + sys edb$stat_all_tables edb$stat_tab_pk 0 259 -sys edb$session_wait_history -session_waits_hist_pk + sys edb$session_wait_history session_waits_hist_pk 0 251 -pg_catalog pg_proc pg_proc_oid_index + pg_catalog pg_proc pg_proc_oid_index 0 142 -pg_catalog pg_class pg_class_oid_index + pg_catalog pg_class pg_class_oid_index 0 123 -pg_catalog pg_class -pg_class_relname_nsp_index + pg_catalog pg_class pg_class_relname_nsp_index 0 63 -pg_catalog pg_type pg_type_oid_index + pg_catalog pg_type pg_type_oid_index 0 45 (14 rows) ``` From f506da32b6aa93e18ad4827c0807f51d4e4ca1dd Mon Sep 17 00:00:00 2001 From: josh-heyer Date: Wed, 21 Apr 2021 09:27:51 +0000 Subject: [PATCH 18/21] New PDFs generated by Github Actions Former-commit-id: 09ef565bdeeecf8b1c6ece03cd334a9e58054c0d From 9f8b173fa301a51e830f94d2a63611ed5e41febf Mon Sep 17 00:00:00 2001 From: Robert Stringer Date: Wed, 21 Apr 2021 10:55:32 +0100 Subject: [PATCH 19/21] feature: adding repmgr stub Former-commit-id: d0f087b469f228f4b74ef550eb543087edae6800 --- build-sources.json | 1 + gatsby-config.js | 1 + product_docs/docs/repmgr/5.2.1/index.mdx | 20 ++++++++++++++++++++ src/constants/products.js | 1 + src/pages/index.js | 17 +++++++++++++++-- 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 product_docs/docs/repmgr/5.2.1/index.mdx diff --git a/build-sources.json b/build-sources.json index 87b20c54f67..59d7e261d15 100644 --- a/build-sources.json +++ b/build-sources.json @@ -18,5 +18,6 @@ "pgbouncer": true, "pgpool": true, "postgis": true, + "repmgr": true, "slony": true } diff --git a/gatsby-config.js b/gatsby-config.js index a16d5bfc6f2..b3245b1838b 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -62,6 +62,7 @@ const sourceToPluginConfig = { pgbouncer: { name: 'pgbouncer', path: 'product_docs/docs/pgbouncer' }, pgpool: { name: 'pgpool', path: 'product_docs/docs/pgpool' }, postgis: { name: 'postgis', path: 'product_docs/docs/postgis' }, + repmgr: { name: 'repmgr', path: 'product_docs/docs/repmgr' }, slony: { name: 'slony', path: 'product_docs/docs/slony' }, }; diff --git a/product_docs/docs/repmgr/5.2.1/index.mdx b/product_docs/docs/repmgr/5.2.1/index.mdx new file mode 100644 index 00000000000..eb4d676fb20 --- /dev/null +++ b/product_docs/docs/repmgr/5.2.1/index.mdx @@ -0,0 +1,20 @@ +--- +navTitle: repmgr +title: "repmgr (Replication Manager)" +directoryDefaults: + description: "repmgr (Replication Manager) is among the most popular open-source tools for managing replication and failover of PostgreSQL clusters. It relies on PostgreSQL’s streaming replication and hot standby capabilities allowing DBAs to simplify the process of setting up and managing clusters having high availability as well as read scalability requirements. repmgr is distributed under GNU GPL 3 and maintained by EDB." +--- + +repmgr (Replication Manager) is among the most popular open-source tools for managing replication and failover of PostgreSQL clusters. It relies on PostgreSQL’s streaming replication and hot standby capabilities allowing DBAs to simplify the process of setting up and managing clusters having high availability as well as read scalability requirements. repmgr is distributed under GNU GPL 3 and maintained by EDB. + +!!! Note + Looking for repmgr documentation? Head over to [repmgr.org](https://repmgr.org/) +!!! + +Key capabilities include: +* Perform automatic failover by detecting failure of the primary and promoting the most suitable standby server +* Monitoring and recording replication performance +* User defined scripts can be triggered by cluster events to perform tasks such as sending email alerts +* Witness servers can improve repmgr failure assessment and resolution, especially in deployments involving multiple data centers +* A "location" configuration option can restrict potential promotion candidates to a single location, e.g., when nodes are spread over multiple data centers +* Supports multiple methods to determine node availability: PostgreSQL ping, query execution, or new connection diff --git a/src/constants/products.js b/src/constants/products.js index f6edfef7b7d..ab35c70cbbc 100644 --- a/src/constants/products.js +++ b/src/constants/products.js @@ -38,5 +38,6 @@ export const products = { pgbouncer: { name: 'PgBouncer', iconName: IconNames.POSTGRESQL }, pgpool: { name: 'PgPool-II', iconName: IconNames.POSTGRESQL }, postgis: { name: 'PostGIS', iconName: IconNames.GLOBE }, + repmgr: { name: 'repmgr', iconName: IconNames.HIGH_AVAILABILITY }, slony: { name: 'Slony Replication', iconName: IconNames.NETWORK2 }, }; diff --git a/src/pages/index.js b/src/pages/index.js index 078a65e54d7..3c25efcfed5 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -129,14 +129,27 @@ const Page = () => ( iconName={iconNames.HIGH_AVAILABILITY} headingText="High Availability Tools" > + + Replication + BDR (Bi-Directional Replication) + Replication Server + Slony + + Cluster Management + Failover Manager + + repmgr (Replication Manager) + + + + Connection Poolers + pgBouncer pgPool-II - Replication Server - Slony From 70045ea01ce740b01bd8d08c8d2376153dd8d773 Mon Sep 17 00:00:00 2001 From: Robert Stringer Date: Wed, 21 Apr 2021 11:00:24 +0100 Subject: [PATCH 20/21] reorg of homepage columns Former-commit-id: 6de3021c2f263d4a3b4b190b8bd6d8c9bf56b509 --- src/pages/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pages/index.js b/src/pages/index.js index 3c25efcfed5..63e771de277 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -137,7 +137,7 @@ const Page = () => ( Replication Server Slony - + Cluster Management Failover Manager @@ -145,7 +145,7 @@ const Page = () => ( repmgr (Replication Manager) - + Connection Poolers pgBouncer @@ -207,10 +207,6 @@ const Page = () => ( - - PostGIS - - ( ODBC Connector + + + PostGIS +
From b320fc4081473fd24e2fb829afcda494016faeaa Mon Sep 17 00:00:00 2001 From: josh-heyer Date: Wed, 21 Apr 2021 10:10:57 +0000 Subject: [PATCH 21/21] New PDFs generated by Github Actions Former-commit-id: ea4cd06630d7d6026f8d8b147bc73dde5db4e7f8