diff --git a/install_template/templates/products/failover-manager/base.njk b/install_template/templates/products/failover-manager/base.njk index 070f626ca5e..092fbfa0efc 100644 --- a/install_template/templates/products/failover-manager/base.njk +++ b/install_template/templates/products/failover-manager/base.njk @@ -21,7 +21,7 @@ redirects: {{ super() }} {% endblock product_prerequisites %} {% block postinstall %} -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx index 06eb9eea5b3..bee0578b17a 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/01_cluster_properties.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a properties file (by default, named After completing the Failover Manager installation, make a working copy of the template before modifying the file contents: ```text -# cp /etc/edb/efm-4.9/efm.properties.in /etc/edb/efm-4.9/efm.properties +# cp /etc/edb/efm-4.10/efm.properties.in /etc/edb/efm-4.10/efm.properties ``` After copying the template file, change the owner of the file to efm: diff --git a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx index 5cdae81fe6e..ce9f397893a 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/02_encrypting_database_password.mdx @@ -35,7 +35,7 @@ This example shows using the `encrypt` utility to encrypt a password for the `ac # efm encrypt acctg This utility will generate an encrypted password for you to place in your Failover Manager cluster property file: -/etc/edb/efm-4.9/acctg.properties +/etc/edb/efm-4.10/acctg.properties Please enter the password and hit enter: Please enter the password again to confirm: The encrypted password is: 516b36fb8031da17cfbc010f7d09359c @@ -49,8 +49,8 @@ db.password.encrypted=516b36fb8031da17cfbc010f7d09359c After receiving your encrypted password, paste the password into the properties file and start the Failover Manager service. If there's a problem with the encrypted password, the Failover Manager service doesn't start: ```text -[witness@localhost ~]# systemctl start edb-efm-4.9 -Job for edb-efm-4.9.service failed because the control process exited with error code. See "systemctl status edb-efm-4.9.service" and "journalctl -xe" for details. +[witness@localhost ~]# systemctl start edb-efm-4.10 +Job for edb-efm-4.10.service failed because the control process exited with error code. See "systemctl status edb-efm-4.10.service" and "journalctl -xe" for details. ``` If you receive this message when starting the Failover Manager service, see the startup log `/var/log/efm-4./startup-efm.log` for more information. diff --git a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx index 93772136379..1c1fa76e5c8 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/03_cluster_members.mdx @@ -15,7 +15,7 @@ Each node in a Failover Manager cluster has a cluster members file (by default n After completing the Failover Manager installation, make a working copy of the template: ```shell -cp /etc/edb/efm-4.9/efm.nodes.in /etc/edb/efm-4.9/efm.nodes +cp /etc/edb/efm-4.10/efm.nodes.in /etc/edb/efm-4.10/efm.nodes ``` After copying the template file, change the owner of the file to efm: diff --git a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx index 8097034f4a1..968837c6a5c 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/04_extending_efm_permissions.mdx @@ -24,7 +24,7 @@ The `sudoers` file contains entries that allow the user efm to control the Failo The `efm-49` file is located in `/etc/sudoers.d` and contains the following entries: ```text -# Copyright EnterpriseDB Corporation, 2014-2021. All Rights Reserved. +# Copyright EnterpriseDB Corporation, 2014-2024. All Rights Reserved. # # Do not edit this file. Changes to the file may be overwritten # during an upgrade. @@ -36,18 +36,18 @@ The `efm-49` file is located in `/etc/sudoers.d` and contains the following entr # 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.9/bin/efm_db_functions -efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.9/bin/efm_db_functions +efm ALL=(postgres) NOPASSWD: /usr/edb/efm-4.10/bin/efm_db_functions +efm ALL=(enterprisedb) NOPASSWD: /usr/edb/efm-4.10/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.9/bin/efm_root_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.10/bin/efm_root_functions # Allow user 'efm' to sudo efm_address as root for VIP tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.9/bin/efm_address +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.10/bin/efm_address # Allow user 'efm' to sudo efm_pgpool_functions as root for pgpool tasks. -efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.9/bin/efm_pgpool_functions +efm ALL=(ALL) NOPASSWD: /usr/edb/efm-4.10/bin/efm_pgpool_functions # relax tty requirement for user 'efm' Defaults:efm !requiretty @@ -89,9 +89,9 @@ To run Failover Manager without sudo, you must select a database process owner w ```shell su - enterprisedb - cp /etc/edb/efm-4.9/efm.properties.in .properties + cp /etc/edb/efm-4.10/efm.properties.in .properties - cp /etc/edb/efm-4.9/efm.nodes.in /.nodes + cp /etc/edb/efm-4.10/efm.nodes.in /.nodes ``` Then, modify the cluster properties file, providing the name of the user in the `db.service.owner` property. Also make sure that the `db.service.name` property is blank. Without sudo, you can't run services without root access. @@ -99,7 +99,7 @@ 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: ```shell -/usr/edb/efm-4.9/bin/runefm.sh start|stop .properties +/usr/edb/efm-4.10/bin/runefm.sh start|stop .properties ``` Where `` specifies the full path of the cluster properties file. The user provides the full path to the properties file whenever the nondefault user is controlling agents or using the `efm` script. diff --git a/product_docs/docs/efm/4/04_configuring_efm/06_configuring_for_eager_failover.mdx b/product_docs/docs/efm/4/04_configuring_efm/06_configuring_for_eager_failover.mdx index af73de8805b..a32b9d4fb10 100644 --- a/product_docs/docs/efm/4/04_configuring_efm/06_configuring_for_eager_failover.mdx +++ b/product_docs/docs/efm/4/04_configuring_efm/06_configuring_for_eager_failover.mdx @@ -8,7 +8,7 @@ redirects: In default run mode, if a primary Failover Manager process fails, there's no failover protection until the agent restarts. To avoid this case, you can set up the primary node through `systemd` to cause a failover when the primary agent exits, which is called Eager Failover. -You can set up Eager Failover by performing the following steps. The example uses EDB Postgres Advanced Server version 12 and Failover Manager version 4.5. +You can set up Eager Failover by performing the following steps. The example uses EDB Postgres Advanced Server. Replace `` with the appropriate version numbers in the following. @@ -29,17 +29,17 @@ You can set up Eager Failover by performing the following steps. The example us - Ensure that the database server and the local Failover Manager agent are running. -- As root, edit the service `edb-as-12.service` file using the command: +- As root, edit the service `edb-as-.service` file using the command: ```shell - systemctl edit edb-as-12.service + systemctl edit edb-as-.service ``` - Add the following lines into the text editor, then save: ```ini [Unit] - BindsTo=edb-efm-4.5.service + BindsTo=edb-efm-4..service ``` With these changes, when the Failover Manager agent is stopped or ended, the rest of the cluster treats this situation as a failure and attempts a failover. @@ -48,9 +48,9 @@ With these changes, when the Failover Manager agent is stopped or ended, the res ## Disabling Eager Failover -- If you want to stop Failover Manager without stopping the database, comment out the following line in `/etc/systemd/system/edb-as-12.service`: +- If you want to stop Failover Manager without stopping the database, comment out the following line in `/etc/systemd/system/edb-as-.service`: ```ini - BindsTo=edb-efm-4.5.service + BindsTo=edb-efm-4..service ``` - Run the following command to reload the configuration files: ```shell diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index 798cea4f71d..87d698bb7e4 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -271,11 +271,11 @@ After creating the `acctg.properties` and `sales.properties` files, create a ser If you're using RHEL/Rocky Linux/AlmaLinux 8.x or later, copy the service file `/usr/lib/systemd/system/edb-efm-4..service` to `/etc/systemd/system` with a new name that's unique for each cluster. -For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.9, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: +For example, if you have two clusters named `acctg` and `sales` managed by Failover Manager 4.10, the unit file names might be `efm-acctg.service` and `efm-sales.service`. You can create them with: ```shell -cp /usr/lib/systemd/system/edb-efm-4.9.service /etc/systemd/system/efm-acctg.service -cp /usr/lib/systemd/system/edb-efm-4.9.service /etc/systemd/system/efm-sales.service +cp /usr/lib/systemd/system/edb-efm-4.10.service /etc/systemd/system/efm-acctg.service +cp /usr/lib/systemd/system/edb-efm-4.10.service /etc/systemd/system/efm-sales.service ``` Then use `systemctl edit` to edit the `CLUSTER` variable in each unit file, changing the specified cluster name from `efm` to the new cluster name. @@ -286,7 +286,7 @@ In this example, edit the `acctg` cluster by running `systemctl edit efm-acctg.s ```ini [Service] Environment=CLUSTER=acctg -PIDFile=/run/efm-4.9/acctg.pid +PIDFile=/run/efm-4.10/acctg.pid ``` Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write: @@ -294,7 +294,7 @@ Edit the `sales` cluster by running `systemctl edit efm-sales.service` and write ```ini [Service] Environment=CLUSTER=sales -PIDFile=/run/efm-4.9/sales.pid +PIDFile=/run/efm-4.10/sales.pid ``` !!!Note diff --git a/product_docs/docs/efm/4/08_controlling_efm_service.mdx b/product_docs/docs/efm/4/08_controlling_efm_service.mdx index 892a46b60a6..2f96b56f810 100644 --- a/product_docs/docs/efm/4/08_controlling_efm_service.mdx +++ b/product_docs/docs/efm/4/08_controlling_efm_service.mdx @@ -40,12 +40,12 @@ Stop the Failover Manager on the current node. This command must be invoked by r 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.9 - edb-efm-4.9.service - EnterpriseDB Failover Manager 4.9 - Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.9.service; disabled; vendor preset: disabled) +[root@ONE ~]}> systemctl status edb-efm-4.10 + edb-efm-4.10.service - EnterpriseDB Failover Manager 4.10 + Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.10.service; disabled; vendor preset: disabled) Active: active (running) since Thu 2024-04-11 11:02:31 EDT; 4h 11min ago - Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.9/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) + Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.10/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS) Main PID: 58180 (java) - CGroup: /system.slice/edb-efm-4.9.service - └─58180 /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java -cp /usr/edb/efm-4.9/lib/EFM-4.9.jar -Xmx128m... + CGroup: /system.slice/edb-efm-4.10.service + └─58180 /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java -cp /usr/edb/efm-4.10/lib/EFM-4.10.jar -Xmx128m... ``` diff --git a/product_docs/docs/efm/4/efm_quick_start/index.mdx b/product_docs/docs/efm/4/efm_quick_start/index.mdx index 7efe031df38..5cc28f59fb8 100644 --- a/product_docs/docs/efm/4/efm_quick_start/index.mdx +++ b/product_docs/docs/efm/4/efm_quick_start/index.mdx @@ -31,7 +31,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create working configuration files. Copy the provided sample files to create Failover Manager configuration files, and correct the ownership and version number if you are installing a different version: ```shell - cd /etc/edb/efm-4.9 + cd /etc/edb/efm-4.10 cp efm.properties.in efm.properties @@ -45,7 +45,7 @@ Start the configuration process on a primary or standby node. Then, copy the con 1. Create an [encrypted password](/efm/latest/04_configuring_efm/02_encrypting_database_password/) needed for the properties file: ```shell - /usr/edb/efm-4.9/bin/efm encrypt efm + /usr/edb/efm-4.10/bin/efm encrypt efm ``` Follow the onscreen instructions to produce the encrypted version of your database password. @@ -83,22 +83,22 @@ Start the configuration process on a primary or standby node. Then, copy the con The Failover Manager agent doesn't validate the addresses in the `efm.nodes` file. The agent expects that some of the addresses in the file can't be reached (for example, that another agent hasn’t been started yet). -1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.9` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: +1. Configure the other nodes. Copy the `efm.properties` and `efm.nodes` files to `/etc/edb/efm-4.10` on the other nodes in your sample cluster. After copying the files, change the file ownership so the files are owned by efm:efm. The `efm.properties` file can be the same on every node, except for the following properties: - Modify the `bind.address` property to use the node’s local address. - Set `is.witness` to `true` if the node is a witness node. If the node is a witness node, the properties relating to a local database installation are ignored. -1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.9`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: +1. Start the Failover Manager cluster. On any node, start the Failover Manager agent. The agent is named `edb-efm-4.10`; you can use your platform-specific service command to control the service. For example, on a RHEL 7.x or Rocky Linux/AlmaLinux/RHEL 8.x host, use the command: ```shell - systemctl start edb-efm-4.9 + systemctl start edb-efm-4.10 ``` 1. After the agent starts, run the following command to see the status of the single-node cluster. The addresses of the other nodes appear in the `Allowed node host` list. ```shell - /usr/edb/efm-4.9/bin/efm cluster-status efm + /usr/edb/efm-4.10/bin/efm cluster-status efm ``` 1. Start the agent on the other nodes. Run the `efm cluster-status efm` command on any node to see the cluster status. @@ -106,7 +106,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If any agent fails to start, see the startup log for information about what went wrong: ```shell - cat /var/log/efm-4.9/startup-efm.log + cat /var/log/efm-4.10/startup-efm.log ``` ## Perform a switchover @@ -114,7 +114,7 @@ Start the configuration process on a primary or standby node. Then, copy the con If the cluster status output shows that the primary and standby nodes are in sync, you can perform a switchover: ```shell - /usr/edb/efm-4.9/bin/efm promote efm -switchover + /usr/edb/efm-4.10/bin/efm promote efm -switchover ``` The command promotes a standby and reconfigures the primary database as a new standby in the cluster. To switch back, run the command again. @@ -124,5 +124,5 @@ The command promotes a standby and reconfigures the primary database as a new st For quick access to online help, use: ```shell -/usr/edb/efm-4.9/bin/efm --help +/usr/edb/efm-4.10/bin/efm --help ``` diff --git a/product_docs/docs/efm/4/efm_rel_notes/01_efm_410_rel_notes.mdx b/product_docs/docs/efm/4/efm_rel_notes/01_efm_410_rel_notes.mdx new file mode 100644 index 00000000000..158f39a997c --- /dev/null +++ b/product_docs/docs/efm/4/efm_rel_notes/01_efm_410_rel_notes.mdx @@ -0,0 +1,13 @@ +--- +title: "Version 4.10" +--- + +Enhancements, bug fixes, and other changes in EFM 4.10 include: + +| Type | Description | +| ---- |------------ | +| Enhancement | Failover Manager was upgraded to use the Bouncy Castle cryptographic library version 1.0.2.5. | +| Bug Fix | Improve handling of rare case where the standby to promote becomes unavailable during a switchover. [Support ticket: #37266] | +| Bug Fix | The `efm upgrade-conf` command will not lose .nodes file information when the `-source` and destination directories are the same. [Support ticket: #37479] | +| Bug Fix | Fixed an issue where the `efm cluster-status` command hid connection errors if every database connection failed. [Support ticket: #39108] | +| Bug Fix | At startup, if an agent with a primary database sees that there is already a primary in the cluster, it will drop the VIP if applicable when fencing off the database. | diff --git a/product_docs/docs/efm/4/efm_rel_notes/index.mdx b/product_docs/docs/efm/4/efm_rel_notes/index.mdx index f35cb14b6ee..7d83e236fe3 100644 --- a/product_docs/docs/efm/4/efm_rel_notes/index.mdx +++ b/product_docs/docs/efm/4/efm_rel_notes/index.mdx @@ -6,6 +6,7 @@ cover what was new in each release. | Version | Release Date | | ------- | ------------ | +| [4.10](01_efm_410_rel_notes) | 21 Aug 2024| | [4.9](01_efm_49_rel_notes) | 14 May 2024| | [4.8](02_efm_48_rel_notes) | 15 Nov 2023| | [4.7](03_efm_47_rel_notes) | 20 Jun 2023| diff --git a/product_docs/docs/efm/4/installing/linux_arm64/efm_debian_12.mdx b/product_docs/docs/efm/4/installing/linux_arm64/efm_debian_12.mdx index 9f9f7fed0b5..021918bccdb 100644 --- a/product_docs/docs/efm/4/installing/linux_arm64/efm_debian_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_arm64/efm_debian_12.mdx @@ -44,7 +44,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx index dc1a4f244d4..dbdac049b10 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_8.mdx @@ -53,7 +53,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx index 194e9e26a8a..af0e288c2d0 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_rhel_9.mdx @@ -53,7 +53,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx index 1ea1fe83fcf..976b1b041d3 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_12.mdx @@ -55,7 +55,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx index 9e827bf42af..83c9a7e2439 100644 --- a/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_ppc64le/efm_sles_15.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx index bc2899d6491..e397619c938 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_11.mdx @@ -44,7 +44,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_12.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_12.mdx index 802b5e9da9f..b04fed2f5a5 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_debian_12.mdx @@ -44,7 +44,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx index 14ea1de2643..60d5e3c4eed 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_8.mdx @@ -55,7 +55,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx index c5ea91fc632..57d65f849dc 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_other_linux_9.mdx @@ -55,7 +55,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx index 95ecadcb72c..e6a5e5d70ea 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_8.mdx @@ -49,7 +49,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx index a3f78e4a77c..f0a9a09410a 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_rhel_9.mdx @@ -49,7 +49,7 @@ Before you begin the installation process: sudo dnf -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx index f1b2c92dd5c..6c0d3eaa96a 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_12.mdx @@ -55,7 +55,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx index e7c6e4fcaaa..cf2b386735b 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_sles_15.mdx @@ -56,7 +56,7 @@ Before you begin the installation process: sudo zypper -n install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx index 333d5df84a3..8eac11baeb1 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_20.mdx @@ -44,7 +44,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx index 26e2a6176f1..a6ce0ef1a6d 100644 --- a/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx +++ b/product_docs/docs/efm/4/installing/linux_x86_64/efm_ubuntu_22.mdx @@ -44,7 +44,7 @@ Before you begin the installation process: sudo apt-get -y install edb-efm<4x> ``` -Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.9, the package name is `edb-efm49`. +Where `<4x>` is the version of Failover Manager that you're installing. For example, if you're installing version 4.10, the package name is `edb-efm410`. The installation process creates a user named efm that has privileges to invoke scripts that control the Failover Manager service for clusters owned by enterprisedb or postgres. diff --git a/product_docs/docs/efm/4/upgrading.mdx b/product_docs/docs/efm/4/upgrading.mdx index e714e565b2f..9823ede7054 100644 --- a/product_docs/docs/efm/4/upgrading.mdx +++ b/product_docs/docs/efm/4/upgrading.mdx @@ -14,17 +14,17 @@ legacyRedirectsGenerated: Failover Manager provides a utility to assist you when upgrading a cluster managed by Failover Manager. To upgrade an existing cluster, you must: -1. Install Failover Manager 4.9 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). +1. Install Failover Manager 4.10 on each node of the cluster. For detailed information about installing Failover Manager, see [Installing Failover Manager](installing). -2. After installing Failover Manager, invoke the efm upgrade-conf utility to create the `.properties` and `.nodes` files for Failover Manager 4.9. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.9/bin` directory. To invoke the utility, assume root privileges, and invoke the command: +2. After installing Failover Manager, invoke the efm upgrade-conf utility to create the `.properties` and `.nodes` files for Failover Manager 4.10. The Failover Manager installer installs the upgrade utility ([efm upgrade-conf](07_using_efm_utility/#efm_upgrade_conf)) to the `/usr/edb/efm-4.10/bin` directory. To invoke the utility, assume root privileges, and invoke the command: ```shell efm upgrade-conf ``` - The `efm upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting 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.9` directory. + The `efm upgrade-conf` utility locates the `.properties` and `.nodes` files of preexisting 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.10` directory. -3. Modify the `.properties` and `.nodes` files for Failover Manager 4.9, 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.9` 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). +3. Modify the `.properties` and `.nodes` files for Failover Manager 4.10, 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.10` 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). 4. If you're using Eager Failover, you must disable it before stopping the Failover Manager cluster. For more information, see [Disabling Eager Failover](04_configuring_efm/06_configuring_for_eager_failover/#disabling-eager-failover). @@ -36,15 +36,15 @@ Failover Manager provides a utility to assist you when upgrading a cluster manag !!! Note The primary agent doesn't drop the virtual IP address (if used) when it's stopped. The database remains up and accessible on the VIP during the EFM upgrade. See also [Using Failover Manager with virtual IP addresses](04_configuring_efm/05_using_vip_addresses.mdx). -6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.9`) on each node of the cluster. +6. Start the new [Failover Manager service](08_controlling_efm_service/#controlling_efm_service) (`edb-efm-4.10`) on each node of the cluster. The following example shows invoking the upgrade utility to create the `.properties` and `.nodes` files for a Failover Manager installation: ```text -[root@hostname ~]# /usr/edb/efm-4.9/bin/efm upgrade-conf efm -Checking directory /etc/edb/efm-4.8 +[root@hostname ~]# /usr/edb/efm-4.10/bin/efm upgrade-conf efm +Checking directory /etc/edb/efm-4.9 Processing efm.properties file -Checking directory /etc/edb/efm-4.8 +Checking directory /etc/edb/efm-4.9 Processing efm.nodes file Upgrade of files is finished. The owner and group for properties and nodes files have been set as 'efm'. @@ -73,24 +73,24 @@ Summary: !!! Note If you are using custom scripts, check to see if they are calling any Failover Manager scripts. For example, a script that runs after promotion to perform various tasks and then calls Failover Manager's `efm_address` script to acquire a virtual IP address. If you have any custom scripts calling Failover Manager scripts, update the custom scripts to use the newly installed version of the Failover Manager script before uninstalling the older version of the Failover Manager script. -After upgrading to Failover Manager 4.9, 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.8 and any unneeded dependencies: +After upgrading to Failover Manager 4.10, 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.9 and any unneeded dependencies: - On RHEL/Rocky Linux/AlmaLinux 8.x or later: ```shell -dnf remove edb-efm48 +dnf remove edb-efm49 ``` - On Debian or Ubuntu: ```shell -apt-get remove edb-efm48 +apt-get remove edb-efm49 ``` - On SLES: ```shell -zypper remove edb-efm48 +zypper remove edb-efm49 ``` ## Performing a maintenance task diff --git a/product_docs/docs/epas/16/images/download_complete_confirmation.png b/product_docs/docs/epas/16/images/download-complete-confirmation.png similarity index 100% rename from product_docs/docs/epas/16/images/download_complete_confirmation.png rename to product_docs/docs/epas/16/images/download-complete-confirmation.png diff --git a/product_docs/docs/epas/16/images/selected_packages_summary_window.png b/product_docs/docs/epas/16/images/selected-packages-summary-window.png similarity index 100% rename from product_docs/docs/epas/16/images/selected_packages_summary_window.png rename to product_docs/docs/epas/16/images/selected-packages-summary-window.png diff --git a/product_docs/docs/epas/16/images/stackBuilder_plus_confirms_the_completed_installation.png b/product_docs/docs/epas/16/images/stackbuilder-plus-confirms-the-completed-installation.png similarity index 100% rename from product_docs/docs/epas/16/images/stackBuilder_plus_confirms_the_completed_installation.png rename to product_docs/docs/epas/16/images/stackbuilder-plus-confirms-the-completed-installation.png diff --git a/product_docs/docs/epas/16/images/summary_window_displaying_selected_packages.png b/product_docs/docs/epas/16/images/summary-window-displaying-selected-packages.png similarity index 100% rename from product_docs/docs/epas/16/images/summary_window_displaying_selected_packages.png rename to product_docs/docs/epas/16/images/summary-window-displaying-selected-packages.png diff --git a/product_docs/docs/epas/16/images/the_proxy_servers_dialog.png b/product_docs/docs/epas/16/images/the-proxy-servers-dialog.png similarity index 100% rename from product_docs/docs/epas/16/images/the_proxy_servers_dialog.png rename to product_docs/docs/epas/16/images/the-proxy-servers-dialog.png diff --git a/product_docs/docs/epas/16/images/the_stackBuilder_plus_module_selection_window.png b/product_docs/docs/epas/16/images/the-stackbuilder-plus-module-selection-window.png similarity index 100% rename from product_docs/docs/epas/16/images/the_stackBuilder_plus_module_selection_window.png rename to product_docs/docs/epas/16/images/the-stackbuilder-plus-module-selection-window.png diff --git a/product_docs/docs/epas/16/images/the_stackBuilder_plus_welcome.png b/product_docs/docs/epas/16/images/the-stackbuilder-plus-welcome.png similarity index 100% rename from product_docs/docs/epas/16/images/the_stackBuilder_plus_welcome.png rename to product_docs/docs/epas/16/images/the-stackbuilder-plus-welcome.png diff --git a/product_docs/docs/epas/16/installing/windows/installing_advanced_server_with_the_interactive_installer/using_stackbuilder_plus.mdx b/product_docs/docs/epas/16/installing/windows/installing_advanced_server_with_the_interactive_installer/using_stackbuilder_plus.mdx index b5d16fc7370..d3861759765 100644 --- a/product_docs/docs/epas/16/installing/windows/installing_advanced_server_with_the_interactive_installer/using_stackbuilder_plus.mdx +++ b/product_docs/docs/epas/16/installing/windows/installing_advanced_server_with_the_interactive_installer/using_stackbuilder_plus.mdx @@ -31,7 +31,7 @@ To review a detailed description of the component, expand a module and select a StackBuilder Plus confirms the packages selected. -![A summary window displays a list of selected packages](../../../images/summary_window_displaying_selected_packages.png) +![A summary window displays a list of selected packages](../../../images/summary-window-displaying-selected-packages.png) Use the browse icon (...) to the right of the **Download directory** field to open a file selector and choose an alternativee location to store the downloaded installers. Select **Next** to connect to the server and download the required installation files. diff --git a/product_docs/docs/epas/16/upgrading/minor_upgrade/06_using_stackbuilder_plus_to_perform_a_minor_version_update.mdx b/product_docs/docs/epas/16/upgrading/minor_upgrade/06_using_stackbuilder_plus_to_perform_a_minor_version_update.mdx index cdb58a158c3..775e428780e 100644 --- a/product_docs/docs/epas/16/upgrading/minor_upgrade/06_using_stackbuilder_plus_to_perform_a_minor_version_update.mdx +++ b/product_docs/docs/epas/16/upgrading/minor_upgrade/06_using_stackbuilder_plus_to_perform_a_minor_version_update.mdx @@ -6,13 +6,13 @@ redirects: --- !!! Note - StackBuilder Plus is supported only on Windows systems. + StackBuilder Plus is only supported on Windows systems. The StackBuilder Plus utility provides a graphical interface that simplifies the process of updating, downloading, and installing modules that complement your EDB Postgres Advanced Server installation. When you install a module with StackBuilder Plus, StackBuilder Plus resolves any software dependencies. 1. To invoke StackBuilder Plus at any time after the installation has completed, select **Apps > StackBuilder Plus**. Enter your system password if prompted, and the StackBuilder Plus welcome window opens. - ![The StackBuilder Plus welcome window](../images/the_stackBuilder_plus_welcome.png) + ![The StackBuilder Plus welcome window](../../images/the-stackbuilder-plus-welcome.png) 1. Select your EDB Postgres Advanced Server installation. @@ -20,11 +20,11 @@ The StackBuilder Plus utility provides a graphical interface that simplifies the 1. If the selected EDB Postgres Advanced Server installation has restricted Internet access, on the Welcome screen, select **Proxy Servers** to open the Proxy servers dialog box: - ![The Proxy servers dialog](../images/the_proxy_servers_dialog.png) + ![The Proxy servers dialog](../../images/the-proxy-servers-dialog.png) 1. On the dialog box, enter the IP address and port number of the proxy server in the **HTTP proxy** box. Currently, all StackBuilder Plus modules are distributed by HTTP proxy (FTP proxy information is ignored). Select **OK**. - ![The StackBuilder Plus module selection window](../images/the_stackBuilder_plus_module_selection_window.png) + ![The StackBuilder Plus module selection window](../../images/the-stackbuilder-plus-module-selection-window.png) The tree control on the StackBuilder Plus module selection window displays a node for each module category. @@ -32,18 +32,19 @@ The StackBuilder Plus utility provides a graphical interface that simplifies the 1. If prompted, enter your email address and password on the StackBuilder Plus registration window. - ![A summary window displays a list of selected packages](../images/selected_packages_summary_window.png) + ![A summary window displays a list of selected packages](../../images/selected-packages-summary-window.png) StackBuilder Plus confirms the packages selected. The Selected packages dialog box displays the name and version of the installer. Select **Next**. When the download completes, a window opens that confirms the installation files were downloaded and are ready for installation. - ![Confirmation that the download process is complete](../images/download_complete_confirmation.png) + ![Confirmation that the download process is complete](../../images/download-complete-confirmation.png) 1. Leave the **Skip Installation** check box cleared and select **Next** to start the installation process. (Select the check box and select **Next** to exit StackBuilder Plus without installing the downloaded files.) - ![StackBuilder Plus confirms the completed installation](../images/stackBuilder_plus_confirms_the_completed_installation.png) + ![StackBuilder Plus confirms the completed installation](../../images/stackbuilder-plus-confirms-the-completed-installation.png) When the upgrade is complete, StackBuilder Plus alerts you to the success or failure of the installation of the requested package. If you were prompted by an installer to restart your computer, restart now. If the update fails to install, StackBuilder Plus alerts you to the installation error and writes a message to the log file at `%TEMP%`. + diff --git a/product_docs/docs/migration_toolkit/55/07_invoking_mtk/08_mtk_command_options.mdx b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/08_mtk_command_options.mdx index 02b733319e8..bef88723b51 100644 --- a/product_docs/docs/migration_toolkit/55/07_invoking_mtk/08_mtk_command_options.mdx +++ b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/08_mtk_command_options.mdx @@ -28,9 +28,14 @@ The command options that work with Migration Toolkit are grouped by their behavi | [Oracle-specific options](#oracle-specific-options) | -allUsers, -users,

-allProfiles, -profiles,

-importPartitionAsTable,

-objectTypes,

-copyViaDBLinkOra, -allDBLinks

-allSynonyms, -allPublicSynonyms, -excludeSynonyms,

-allPrivateSynonyms, -useOraCase,

-skipUserSchemaCreation | | [Miscellaneous options](#miscellaneous-options) | -help, -logDir, -logFileCount, -logFileSize, -logBadSQL -verbose, -version | | [Migration options for parallel data loading](#migration-options-for-parallel-data-loading) | -loaderCount, -parallelLoadRowLimit, -tableLoaderLimit | +| [Specify options in file](mtk_command_options_in_file) | -optionsFile | +!!!note + If you are using several options for a migration, or have to specify a long list of objects for an option, consider using the `-optionsFile` option to specify the values in a separate text file. See [Specifying options using a file](mtk_command_options_in_file) for more information. +!!! + ## Offline migration options If you specify the `-offlineMigration` option in the command line, Migration Toolkit performs an offline migration. During an offline migration, Migration Toolkit reads the definition of each selected object and creates an SQL script that, when executed later, replicates each object in Postgres. diff --git a/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/creating_txt_file.mdx b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/creating_txt_file.mdx new file mode 100644 index 00000000000..9dd43c71e54 --- /dev/null +++ b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/creating_txt_file.mdx @@ -0,0 +1,108 @@ +--- +title: "Creating a file with the command options" +navTitle: "Creating the options file" +deepToC: true +--- + +To specify a text file that contains command line options and values, you must create a `` file with the options you want to execute, and then run the `runMTK.sh` command with the `-optionsFile ` argument. + +!!!note + You can store the `` file in the same folder as the MTK utility, or in a directory of your choice. +!!! + +## Creating the text file - guidelines + +Create a text file on a location that is accessible by the user performing the migration. Then, add an option per line following these guidelines: + +### Skip the dash + +Use the same option syntax as in the command line options without the dash sign (-). The options file recognizes each line as a new parameter and doesn't require a dash as a delimiter. + +| Option in CLI | Supported syntax for the option in file | +|----------------|-----------------------------------------| +| `-tables hr` | tables hr | + +### Use a line per option + +Use a new line for each option. Use a line per key-value pair. + +| Option in CLI | Supported syntax for the option in file | +|----------------------------------------------------------------|---------------------------------------------------------------| +| `-tables hr -allViews`
`-excludeViews all_emp,acct_list` | tables hr
allViews
excludeViews all_emp,acct_list | + +### Specify values for an option in a single or multiple lines + +You can add a single line with an option and multiple values for that option. + +You can add several lines for the same option, each time with a different value. + +And you can combine both approaches, because MTK will combine all lines that have the same option. + +| Option in CLI | Supported syntax for the option in file | +|--------------------------|-------------------------------------------------| +| `-tables TAB1,TAB2,TAB3` | tables TAB1
tables TAB2
tables TAB3 | +| | tables TAB1,TAB2,TAB3 | +| | tables TAB1
tables TAB2,TAB3 | + +!!!note + The duplication of options is only supported for the options file.
+ When using `-tables` in the command line more than one time, only the last parameter is executed. For example, `./runMTK.sh -tables TAB2 -tables TAB3` only includes the _TAB3_ table in the migration. +!!! + +### Use a space or equal sign to provide values + +For options that require values (key-value pairs), separate the option from the value with a space or an equal sign (=). Both options are supported. + +| Option in CLI | Supported syntax for the option in file | +|------------------|-----------------------------------------| +| `-views all_emp` | views=all_emp | +| | views all_emp | + +### Don't specify an option in the file and command line + +Don't include an option in the options file if you're specifying it as a flag in the command line. + +Specifying an option in both the command line and in the text file will cause the migration to fail. + +## Order of processing + +Migration Toolkit reads command line options and option files in the order you provide them when running the command. + +For example, if you run the following command, MTK first recognizes the `-sourcedbtype oracle` option, then reads the contents of `example.options` in order from top to bottom. Last parameter is always `schema_name`. + +```shell +runMTK.sh -sourcedbtype oracle -optionsFile example.options schema_name +``` + +If you want an option to be executed last, you can either put it at the end of the `example.options` file and add no further options after `-optionsFile` in the command line. + +Schema definition (`schema_name` or `-allSchemas`) must always be the last parameter on the command line. + +```shell +runMTK.sh -sourcedbtype oracle -optionsFile example.options schema_name +``` + +Where the content of the `example.options` file is: + +``` +tables=TAB1 +dataOnly +``` + +Or you can place the options flag (-dataOnly in this case) in the command line after specifying the `-optionsFile`: + +```shell +runMTK.sh -sourcedbtype oracle -optionsFile example.options -dataOnly schema_name +``` + +## Other considerations + +- **Commenting out**: Use a pound sign (#) to comment out a line. MTK won’t execute that line. + +- **Limitations**: Do not use quote marks. + +- **Space processing**: MTK removes spaces between an option and its value. When you separate an option from its value with a space, only one space is treated as a delimiter. + + For example, to run the `-views all_emp, mgmt_list, acct_list` command line option, you can add _views all_emp,mgmt_list,acct_list_ OR _views = all_emp,mgmt_list,acct_list_ in the options file. + +After you have created the options file, [execute the migration with the options file](executing_migration_with_txt). diff --git a/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/executing_migration_with_txt.mdx b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/executing_migration_with_txt.mdx new file mode 100644 index 00000000000..323f0562ec3 --- /dev/null +++ b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/executing_migration_with_txt.mdx @@ -0,0 +1,105 @@ +--- +title: "Executing a migration with a command options file" +navTitle: "Executing a migration with the options file" +deepToC: true +--- + +After you have created the options file, execute the migration command by referencing the options file: + +```shell +./runMTK.sh -optionsFile +``` + +!!!note + Provide the full path for `` if you are running the MTK command from a different folder than where you have stored the file. +!!! + +You can specify all options in the file, or use a mix of command line and options file to specify the migration parameters. + +## Provide the scope for the schema migration + +You must specify the scope of the schemas to be migrated. + +- If you want to migrate all schemas: Add the `-allSchemas` option in the command line or add `allSchemas` in your options file. Regardless of which method you use, this option must be the last parameter. + +- If you want to specify one or several schemas: Specify the schemas you want to migrate in the command line with no preceding option. They have to be the last parameter in the command line. + +Here are some examples for specifying all options in the file: + +## Migrate a schema with specific tables + +Content of the `` text file: + +``` +tables comp_schema.emp,comp_schema.dept,finance_schema.acctg +``` + +Syntax of the migration command: + +```shell +./runMTK.sh -optionsFile example.options schema_name +``` + +Command line equivalent: + +```shell +./runMTK.sh -tables comp_schema.emp,comp_schema.dept,finance_schema.acctg schema_name +``` + +## Use Options File to exclude tables and include functions + +The options file can be used to separate table names from configuration options. +It may also contain comments to clarify why parameters are used. + +In this example we are excluding tables and including functions. +It shows some extra comments, to explain why tables are excluded. + +Content of the `` text file: + +``` +# finances +excludeTables comp_schema.emp,finance_schema.jobhist + +# temporary, #MIGRATION-123, ask Ben +excludeTables temp_schema.temp_table + +excludeTables more_schema.more_tables + +funcs finance_schema.add_two_numbers +``` + +Syntax of the migration command: + +```shell +./runMTK.sh -allTables -optionsFile excludeInclude.options -safeMode -connRetryCount 7 schema_name +``` + +Command line equivalent: + +```shell +./runMTK.sh -allTables -excludeTables comp_schema.emp,finance_schema.jobhist,temp_schema.temp_table,more_schema.more_tables -funcs finance_schema.add_two_numbers -safeMode -connRetryCount 7 schema_name +``` + +## Offline migration + +Run an offline migration with all schemas. + +Content of the `` text file: + +``` +offlineMigration file_dest +allTables +schemaOnly +``` + +Syntax of the migration command: + +```shell +./runMTK.sh -optionsFile example.options -allSchemas +``` + +Command line equivalent: + +```shell +./runMTK.sh -offlineMigration file_dest -allTables -schemaOnly -allSchemas +``` diff --git a/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/index.mdx b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/index.mdx new file mode 100644 index 00000000000..29b6a5513b2 --- /dev/null +++ b/product_docs/docs/migration_toolkit/55/07_invoking_mtk/mtk_command_options_in_file/index.mdx @@ -0,0 +1,24 @@ +--- +title: "Specifying Migration Toolkit command options using a file" +navTitle: "Specifying options using a file" +deepToC: true +--- + +EDB supports using a text file to specify several [database migration options](../08_mtk_command_options.mdx) instead of manually entering them in the command line. This is particularly helpful when: + +- You have to specify a large number of command line options for complex migration scenarios. Entering all options in the command line becomes troublesome, or you might have even reached command line length limits. + +- You have to specify a large number of values for a command line option for complex migration scenarios. Entering all values in the command line becomes troublesome, or you might have even reached command line length limits. + +- You want to apply the same migration options and values to several different databases, or you might even consider automating the migration of databases. Running `runMTK.sh` with several options and values repeatedly in the command line becomes prone to errors. + +The `-optionsFile ` argument allows you to reference a text file with all options and values, making the migration process easier. + +## Execute a migration using an options file + +To perform a migration with a file that specifies the command options: + +1. [Create a text file with the command options](creating_txt_file). + +1. [Perform a migration by invoking the file with the command options](executing_migration_with_txt). + diff --git a/product_docs/docs/migration_toolkit/55/10_error_codes.mdx b/product_docs/docs/migration_toolkit/55/10_error_codes.mdx index 2c7573957c2..ee4793248eb 100644 --- a/product_docs/docs/migration_toolkit/55/10_error_codes.mdx +++ b/product_docs/docs/migration_toolkit/55/10_error_codes.mdx @@ -1,6 +1,6 @@ --- title: "Error codes" - +deepToc: true --- @@ -69,7 +69,7 @@ This class represents invalid user input values. | MTK-10015 | Copy delimiter should be a single character. | | MTK-10016 | Batch size should be between 1 - 50000. | | MTK-10017 | Invalid number for batch size, use a number from 1-50000. | -| MTK-10018 | Copy Batch Size should be greater than 0. | +| MTK-10018 | Copy Batch Size should be in the range from 1 to 1024. | | MTK-10019 | Invalid number for Copy Batch Size, use a number > 0. | | MTK-10020 | Fetch Size should be greater than 0. | | MTK-10021 | Invalid number for Fetch Size, use a number > 0. | @@ -129,7 +129,14 @@ This class represents invalid user input values. | MTK-10075 | The connRetryInterval value should be between 0 and 900. | | MTK-10076 | Invalid value for 'connRetryInterval', use a number between 0 and 900. | | MTK-10077 | The '-pgIdleTxSessionTimeOut' value should be greater than 0. | - +| MTK-10078 | The argument '-$OPTION' cannot start with '--'. | +| MTK-10079 | The last argument should be the schema name without any option context. | +| MTK-10080 | The value *$VALUE* is specified without any option. | +| MTK-10081 | The command-line argument '-$OPTION' is not supported. | +| MTK-10082 | The value of the option '-$OPTION' can be either 'true' or 'false'. | +| MTK-10083 | The value of the option '-$OPTION' can be either 'on' or 'off'. | +| MTK-10084 | The '-$OPTION' option cannot be used without a value. | +| MTK-10085 | The source schema name should not start with '-' or '--'. | ### Class 11 - Configuration issues diff --git a/product_docs/docs/migration_toolkit/55/mtk_rel_notes/index.mdx b/product_docs/docs/migration_toolkit/55/mtk_rel_notes/index.mdx index 08dce3f9e3c..1104b39f04c 100644 --- a/product_docs/docs/migration_toolkit/55/mtk_rel_notes/index.mdx +++ b/product_docs/docs/migration_toolkit/55/mtk_rel_notes/index.mdx @@ -3,6 +3,7 @@ title: "Release notes" redirects: - ../01_whats_new/ navigation: + - mtk_5590_rel_notes - mtk_5580_rel_notes - mtk_5570_rel_notes - mtk_5561_rel_notes @@ -20,8 +21,9 @@ navigation: The Migration Toolkit documentation describes the latest version of Migration Toolkit 55 including minor releases and patches. The release notes in this section provide information on what was new in each release. For new functionality introduced in a minor or patch release, there are also indicators within the content about what release introduced the feature. -| Version | Release Date | -| ------------------------------- | ------------ | +| Version | Release Date | +|---------------------------------|--------------| +| [55.9.0](mtk_5590_rel_notes) | 21 Aug 2024 | | [55.8.0](mtk_5580_rel_notes) | 16 May 2024 | | [55.7.0](mtk_5570_rel_notes) | 13 Dec 2023 | | [55.6.1](mtk_5561_rel_notes) | 06 Sep 2023 | diff --git a/product_docs/docs/migration_toolkit/55/mtk_rel_notes/mtk_5590_rel_notes.mdx b/product_docs/docs/migration_toolkit/55/mtk_rel_notes/mtk_5590_rel_notes.mdx new file mode 100644 index 00000000000..42fedfe76d3 --- /dev/null +++ b/product_docs/docs/migration_toolkit/55/mtk_rel_notes/mtk_5590_rel_notes.mdx @@ -0,0 +1,20 @@ +--- +title: "Migration Toolkit 55.9.0 release notes" +navTitle: Version 55.9.0 +--- + +Released: 21 Aug 2024 + +New features, enhancements, bug fixes, and other changes in Migration Toolkit 55.9.0 include: + +| Type | Description | Ticket | +|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------| +| Enhancement | Migration Toolkit now allows the user to specify one or more options via an options file. This makes it easier to manage a long list of object names. | | +| Enhancement | The validation capability of command-line options now reports more relevant error messages with a reference to the invalid option name/value and its usage. | #38264 | +| Bug fix | Fixed an issue where a column value that falls in the daylight saving time slot for a MS SQL Server timestamp column was being changed when migrating to EPAS. | #103780
#35739 | +| Bug fix | Fixed an issue where the name of an Oracle database link was being truncated when migrated to EPAS. | #35924 | +| Bug fix | Fixed an issue that caused a failure when migrating a source EPAS table column containing comments to a SQL Server destination database. | #37044 | +| Bug fix | Fixed a corner case issue that caused an Oracle to EPAS migration to fail with a “Connection closed” error when the source schema contained a fairly large number of objects. | #35593 | +| Bug fix | Fixed an issue where an Oracle table with multi-byte character name failed to migrate in dblinkOra mode. | #101817
#35497 | +| Bug fix | Fixed an issue that caused a migration from EPAS to Oracle to fail for a TIMESTAMP type with explicit precision specification. | | +| Bug fix | Fixed a corner case issue where NULL constraints failed to migrate when migrating from an SQL Server source database to an EPAS destination database. | | diff --git a/product_docs/docs/pem/9/considerations/setup_ha_using_efm.mdx b/product_docs/docs/pem/9/considerations/setup_ha_using_efm.mdx index 3e95801a55c..6691dd85bda 100644 --- a/product_docs/docs/pem/9/considerations/setup_ha_using_efm.mdx +++ b/product_docs/docs/pem/9/considerations/setup_ha_using_efm.mdx @@ -7,13 +7,13 @@ redirects: --- !!! Note - This document walks you through setting up the Failover manager for PEM Server with new installation and not with existing installation. The provided commands apply to the configuration on RHEL-based systems where HTTPD is used for the web server services. + This procedure is for setting up Failover Manager for a PEM server with a new installation, not with an existing one. The provided commands apply to the configuration on RHEL-based systems where HTTPD is used for the web server services. Postgres Enterprise Manager (PEM) helps database administrators, system architects, and performance analysts to administer, monitor, and tune Postgres database servers. Failover Manager is a high-availability tool from EDB that enables a Postgres primary node to failover to a standby node during a software or hardware failure on the primary. -The examples in the following sections use these IP addresses: +The examples that follow use these IP addresses: - 172.16.161.200 - PEM Primary - 172.16.161.201 - PEM Standby 1 diff --git a/product_docs/docs/pem/9/upgrading/upgrading_pem_installation/high_availability_upgrade.mdx b/product_docs/docs/pem/9/upgrading/upgrading_pem_installation/high_availability_upgrade.mdx index 7caf6dcafcd..f98063dd5d2 100644 --- a/product_docs/docs/pem/9/upgrading/upgrading_pem_installation/high_availability_upgrade.mdx +++ b/product_docs/docs/pem/9/upgrading/upgrading_pem_installation/high_availability_upgrade.mdx @@ -2,7 +2,7 @@ title: "Upgrading a PEM installation on high-availability mode using HTTPD" --- -If you are using [Failover Manager for high availability](../../considerations/setup_ha_using_efm) on your PEM server, you can perform a major or minor upgrade of the PEM installation by updating the PEM packages. +If you're using [Failover Manager for high availability](../../considerations/setup_ha_using_efm) on your PEM server, you can perform a major or minor upgrade of the PEM installation by updating the PEM packages. This example uses these IP addresses: @@ -19,9 +19,9 @@ The example upgrade is performed on a RHEL-based operating system where HTTPD is dnf update edb-pem ``` - This ensures the latest version of the script required for the upgrade is available. + Updating ensures that the latest version of the script required for the upgrade is available. -1. Execute the upgrade script. It upgrades PEM to the latest available version, restarts the backend database, the web server and the PEM agent: +1. Execute the upgrade script. It upgrades PEM to the latest available version and restarts the backend database, the web server, and the PEM agent: ``` /usr/edb/pem/bin/configure-pem-server.sh @@ -33,7 +33,7 @@ The example upgrade is performed on a RHEL-based operating system where HTTPD is dnf update edb-pem ``` -1. Copy the configuration files, certificate and key from the primary server to the secondary server: +1. Copy the configuration files, certificate, and key from the primary server to the secondary server: ``` /etc/httpd/conf.d/edb-pem.conf @@ -46,7 +46,7 @@ The example upgrade is performed on a RHEL-based operating system where HTTPD is ``` !!!note - If you have more than one standby server, update the packages, and copy the configuration files, certificate and key from the primary server to each standby instance. + If you have more than one standby server, update the packages and copy the configuration files, certificate, and key from the primary server to each standby instance. !!! The upgrade is complete. diff --git a/product_docs/docs/pgd/5/data_migration/edbloader.mdx b/product_docs/docs/pgd/5/data_migration/edbloader.mdx new file mode 100644 index 00000000000..41ba5d5f9f7 --- /dev/null +++ b/product_docs/docs/pgd/5/data_migration/edbloader.mdx @@ -0,0 +1,21 @@ +--- +title: EDB*Loader and PGD +navTitle: EDB*Loader +description: EDB*Loader is a high-speed data loading utility for EDB Postgres Advanced Server. +--- + +[EDB\*Loader](/epas/latest/database_administration/02_edb_loader/) is a high-speed data loading utility for EDB Postgres Advanced Server (EPAS). It provides an interface compatible with Oracle databases, allowing you to load data into EDB Postgres Advanced Server. It's designed to load large volumes of data into EDB Postgres Advanced Server quickly and efficiently. + +The EDB\*Loader command line utility loads data from an input source, which can be a file flat file, pipe, or other programs, into one or more tables using a subset of the parameters offered by Oracle SQL\*Loader. + +## Use with PGD + +As EDB\*Loader is a utility for EDB Postgres Advanced Server, it's available for EDB Postgres Distributed when EDB Postgres Advanced Server is the database in use for PGD data nodes. PGD deployments can use EDB\*Loader in the same way as it's used on EDB Postgres Advanced Server. Refer to the [EDB\*Loader documentation](/epas/latest/database_administration/02_edb_loader/) for more information on how to use EDB\*Loader with EDB Postgres Advanced Server. + +### Replication and EDB\*Loader + +As with EDB Postgres Advanced Server, EDB\*Loader works with PGD in a replication environment. But, unlike EPAS with physical replication, it isn't possible to use the [direct path load method](/epas/latest/database_administration/02_edb_loader/invoking_edb_loader/direct_path_load/) to load data into the replica nodes. Only the node connected to by EDB\*Loader gets the data that's EDB\*Loader is loading because the direct path load method skips use of the WAL, upon which logical replication relies. + +With PGD it's possible to run the direct load path method to each node. The can be performed on one node at a time or in parallel to all nodes, depending on the use case. When doing this, it's important to ensure there are no other writes happening to the table concurrently as this may result in inconsistencies. + + diff --git a/product_docs/docs/pgd/5/data_migration/index.mdx b/product_docs/docs/pgd/5/data_migration/index.mdx new file mode 100644 index 00000000000..46ccdec05f3 --- /dev/null +++ b/product_docs/docs/pgd/5/data_migration/index.mdx @@ -0,0 +1,10 @@ +--- +title: Data migration to EDB Postgres Distributed +navTitle: Data migration +description: Data migration to EDB Postgres Distribution +indexCards: simple +--- + +Moving data from one data source to another is a common task in the world of data management. This section provides information on how to migrate data to EDB Postgres Distributed from various data sources. + + diff --git a/product_docs/docs/pgd/5/index.mdx b/product_docs/docs/pgd/5/index.mdx index 511311d4ea8..093a247b6dd 100644 --- a/product_docs/docs/pgd/5/index.mdx +++ b/product_docs/docs/pgd/5/index.mdx @@ -27,6 +27,7 @@ navigation: - monitoring - testingandtuning - upgrades + - data_migration - "#Tools" - cli - "#PGD Features"