Skip to content

Commit

Permalink
Merge pull request #1132 from EnterpriseDB/release/2021-03-25
Browse files Browse the repository at this point in the history
Production Release 2021-03-25

Former-commit-id: 76ceba2
  • Loading branch information
epbarger authored Mar 25, 2021
2 parents 2f16df8 + 1bea5d9 commit ac4fba9
Show file tree
Hide file tree
Showing 28 changed files with 173 additions and 39 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/deploy-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,10 @@ jobs:
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEVELOP_SITE_ID }}

- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
if: failure()
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
7 changes: 7 additions & 0 deletions .github/workflows/deploy-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,10 @@ jobs:
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_MAIN_SITE_ID }}

- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
if: always()
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
10 changes: 9 additions & 1 deletion .github/workflows/update-pdfs-on-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ on:
paths:
- product_docs/docs/**.mdx
- scripts/pdf/generate_pdf.py
- .github/workflows/update-pdfs-on-develop.yml
jobs:
build-deploy:
build-pdfs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -43,3 +44,10 @@ jobs:
git add *.pdf
git commit -m "New PDFs generated by Github Actions"
git push
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
if: failure()
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ $ hostname -i

## Postgres Server Authentication

#postgres-server-authentication

A Postgres database server uses the host-based authentication file, `pg_hba.conf`, to control access to the databases in the database server. You need to modify the `pg_hba.conf` file in the following locations:

- On each Postgres database server that contains a Postgres publication database
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,7 @@ RREP_SYNCID_ARRAY COLLECTION
```

!!! Note
The RREP_SYNCID_ARRAY collection type is found only in an Oracle publication database.
The `RREP_SYNCID_ARRAY` collection type is found only in an Oracle publication database.

<div id="sql_control_schema_objects" class="registered_link"></div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ Delete or disable these triggers on node 1.

Delete this schema from the subscription database on node 2 after the backup has been made.

**Step 8:** Restore the backups of `schemas _edb_replicator_pub`, \_edb_replicator_sub`, and`\_edb_scheduler`created in Step 5 to the subscription database on node 2. Also restore the backup of the replication triggers and trigger functions created in Step 6 to the subscription database on node 2.
**Step 8:** Restore the backups of `schemas _edb_replicator_pub`, _edb_replicator_sub`, and `_edb_scheduler` created in Step 5 to the subscription database on node 2. Also restore the backup of the replication triggers and trigger functions created in Step 6 to the subscription database on node 2.

**Step 9:** Restore the backup of schema`\_edb_replicator_sub`created in Step 7 to the publication database on node 1.
**Step 9:** Restore the backup of schema `_edb_replicator_sub` created in Step 7 to the publication database on node 1.

**Step 10:** Update the control schema objects so that the publication database definition references the new publication database (that is, the former subscription database) on node 2 and the subscription database definition references the new subscription database (that is, the former publication database) on node 1.

Expand Down Expand Up @@ -131,13 +131,13 @@ host=192.168.2.20
```

**Step 13:** Update the`pg_hba.conf` files of the database servers to allow access to the subscription database now on node 1 and the publication database now on node 2 in accordance with Section [Postgres Server Authentication](../06_verifying_host_accessibility/03_postgres_server_auth/#postgres_server_auth).
**Step 13:** Update the`pg_hba.conf` files of the database servers to allow access to the subscription database now on node 1 and the publication database now on node 2 in accordance with Section [Postgres Server Authentication](01_prerequisites/06_verifying_host_accessibility/#postgres-server-authentication).

**Step 14:** When using the log-based method, create a replication slot on the database server that now contains the publication database.

Use the following query to obtain the slot name from the database server that was previously running the publication database, but is now the subscription database server:

```text
```
SELECT slot_name FROM pg_replication_slots WHERE plugin = 'test_decoding';
slot_name
-------------
Expand All @@ -159,7 +159,7 @@ You may choose to keep the replication slot on the database server that now cont

Alternatively, you can delete the replication slot from the database server that now contains the subscription database. The replication slot is deleted with the following command:

```text
```
SELECT pg_drop_replication_slot('xdb_47919_5');
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ The `bupBatchThresholdCount` option is used in combination with the `bupBatchThr

> The default value for n is 10.
Each time the same prepared SQL statement is consecutively executed, an internal batch counter is incremented. If this batch count falls below bupBatchThresholdCount for the number of executions of a given prepared statement, then a second internal repeat counter is incremented by one. If the repeat counter eventually reaches bupBatchThresholdRepeatLimit, the update mode is switched from BUP to BUS.
Each time the same prepared SQL statement is consecutively executed, an internal `batch` counter is incremented. If this batch count falls below bupBatchThresholdCount for the number of executions of a given prepared statement, then a second internal `repeat` counter is incremented by one. If the repeat counter eventually reaches bupBatchThresholdRepeatLimit, the update mode is switched from `BUP` to `BUS`.

Thus, if there are frequent, consecutive changes of prepared SQL statements (as measured against `bupBatchThresholdRepeatLimit`), each of which is executed a small number of times (as measured against `bupBatchThresholdCount`), then the mode of execution changes back to individual SQL statements instead of prepared statements.

Expand All @@ -111,15 +111,15 @@ Thus, if there are frequent, consecutive changes of prepared SQL statements (as

The following example illustrates the processing of up dates when bupBatchThresholdCount is set to 3 and bupBatchThresholdRepeatLimit is set to 4. A change to the “query domain” referred to in this example means a different statement type (INSERT, UPDATE, or DELETE) or a different target table are encountered in the next update, thus requiring the use of a different prepared SQL statement.

```text
```
1. INSERT INTO emp
2. INSERT INTO emp
3. INSERT INTO dept
```

At this point the query domain is changed after the first two updates (change from table `emp` to `dept`) and the number of executions of the prior prepared statement (2) is less than `bupBatchThresholdCount`, so the repeat counter is set to 1.

```text
```
4. INSERT INTO dept
5. INSERT INTO dept
6. INSERT INTO dept
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: "Other Synchronization Configuration Options"

The following are other configuration options affecting synchronization replication.

**syncBatchSize**
`syncBatchSize`

> The `syncBatchSize` option controls the number of statements in a synchronization replication JDBC batch.
Expand Down
8 changes: 5 additions & 3 deletions product_docs/docs/eprs/6.2/06_mmr_operation/01_pre_steps.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ There are also two possible options available with respect to how the publicatio
- Allow the publication server to create the publication table definitions in the primary node by copying the definitions from the primary definition node at the time you add the publication database definition for the primary node.
- Define the publication tables in the primary node beforehand by running SQL `DDL` statements in the `PSQL` command line utility program or by using Postgres Enterprise Manager Client to create the tables.

If you create the table definitions manually as described in the second bullet point, be sure the publication tables are defined identically to the tables in the primary definition node including schema names, table names, number of columns, column names, column data types, column lengths, primary key definitions, unique constraints, foreign key constraints, etc.
If you create the table definitions `manually` as described in the second bullet point, be sure the publication tables are defined identically to the tables in the primary definition node including schema names, table names, number of columns, column names, column data types, column lengths, primary key definitions, unique constraints, foreign key constraints, etc.

The examples used throughout the rest of this user’s guide are based on the following:

Expand Down Expand Up @@ -112,7 +112,9 @@ If more than one computer is used to host the components of the replication syst
- For a discussion of firewalls and access to ports see [Firewalls and Access to Ports](../05_smr_operation/01_prerequisites/06_verifying_host_accessibility/#firewalls_and_access_to_ports).
- For a discussion of network IP addresses see [Network IP Addresses](../05_smr_operation/01_prerequisites/06_verifying_host_accessibility/#network_ip).

A Postgres database server uses the host-based authentication file, `pg_hba.conf`, to control access to the databases in the database server. You need to modify the `pg_hba.conf` file on each Postgres database server that contains a primary node.
A Postgres database server uses the host-based authentication file, `pg_hba.conf`, to control access to the databases in the database server.

You need to modify the `pg_hba.conf` file on each Postgres database server that contains a primary node.

In a default Postgres installation, this file is located in the directory `POSTGRES_INSTALL_HOME/data`.

Expand Down Expand Up @@ -193,4 +195,4 @@ See sections [Synchronization Replication with the Log-Based Method](../02_overv

Reload the configuration file after making the modifications.

Choose Reload Configuration (Expert Configuration, then Reload Configuration on Advanced Server) from the Postgres application menu. This will put the modified `pg_hba.conf` file into effect.
Choose `Reload Configuration` (Expert Configuration, then Reload Configuration on Advanced Server) from the Postgres application menu. This will put the modified `pg_hba.conf` file into effect.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Registering a publication server is done in a manner identical to single-master

![Replication tree after registering a publication server](../images/image68.png)

**Figure 6-1: Replication tree after registering a publication server**

After you have successfully registered a publication server, the replication tree of the xDB Replication Console displays a Publication Server node under which are the SMR and MMR type nodes.

Continue to build the multi-master replication system under the MMR type node.
Expand All @@ -45,22 +47,28 @@ You must enter database connection information such as the database server netwo
- `User`. The database user name for the primary definition node created in Step 1 of [Preparing the Primary definition node](01_pre_steps/#prepare_pdn).
- `Password`. Password of the database user.
- `Database`. Enter the database name of the primary definition node.
- `URL Options (For SSL connectivity)`. Enter the URL options to establish SSL connectivity to the primary definition node. See <span class="title-ref">Using Secure Sockets Layer (SSL) Connections &lt;using_ssl_connections></span> for information on using SSL connections.
- `URL Options (For SSL connectivity)`. Enter the URL options to establish SSL connectivity to the primary definition node. See [Using Secure Sockets Layer (SSL) Connections](../07_common_operations/11_using_ssl_connections/#using_ssl_connections) for information on using SSL connections.
- `Changeset Logging (For Postgres)`. Select Table Triggers to use the trigger-based method of synchronization replication. Select WAL Stream to use the log-based method of synchronization replication. See [Synchronization Replication with the Trigger-Based Method](../02_overview/02_replication_concepts_and_definitions/09_sync_replication_trigger_based/#sync_replication_trigger_based) for information on the trigger-based method. See [Synchronization Replication with the Log-Based Method](../02_overview/02_replication_concepts_and_definitions/10_sync_replication_log_based/#sync_replication_log_based) for information on the log-based method.
- `Node Priority Level`. An integer from 1 to 10, which is the priority level assigned to this primary node for conflict resolution based on node priority. The highest priority is 1 while the lowest is 10. See [Conflict Resolution Strategies](06_conflict_resolution/04_conflict_resolution_strategies/#conflict_resolution_strategies) for information on conflict resolution strategies. The default is 1 for the primary definition node.

![Publication Service - Add Database dialog box for the primary definition node](../images/image114.png)

**Figure 6-2: Publication Service - Add Database dialog box for the primary definition node**

**Step 4:** Click the `Test` button. If `Test Result: Success` appears, click the `OK` button, then click the `Save` button.

![Successful primary definition node test](../images/image115.png)

**Figure 6-3: Successful primary definition node test**

If an error message appears investigate the cause of the error, correct the problem, and repeat steps 1 through 4.

When the publication database definition is successfully saved, a Publication Database node is added to the replication tree under the MMR type node of the Publication Server node.

![Replication tree after adding the primary definition node](../images/image116.png)

**Figure 6-4: Replication tree after adding the primary definition node**

The label `PDN` appears at the end of the node in the replication tree and in addition, the `PDN` field is set to Yes in the Property window to indicate this is the primary definition node.

<div id="add_pub_mmr" class="registered_link"></div>
Expand All @@ -80,6 +88,8 @@ Subordinate to the primary definition node, you create a publication that contai

![Create Publication dialog box](../images/image117.png)

**Figure 6-5: Create Publication dialog box**

If you wish to use table filters during replications between primary nodes in this multi-master replication system, follow the directions in the next step to define the initial set of available table filters, otherwise go on to Step 4.

**Step 3 (Optional):** Table filters consist of a set of filter rules that control the selection criteria for rows replicated between primary nodes during a snapshot or a synchronization replication.
Expand Down Expand Up @@ -108,14 +118,20 @@ In the following example a filter rule is defined on the dept table so only rows

![Adding a filter rule for the dept table](../images/image118.png)

**Figure 6-6: Adding a filter rule for the dept table**

The following shows a rule added to the `emp` table by choosing `edb.emp` from the Table/View drop-down list and then entering the selection criteria for only rows with `deptno` containing 10 in the Filter dialog box.

![Adding a filter rule for the emp table](../images/image119.png)

**Figure 6-7: Adding a filter rule for the emp table**

Repeating this process, additional filter rules can be added for the `emp` table. The following shows the complete set of available filter rules defined for the `dept` and `emp` tables.

![Set of all available filter rules](../images/image120.png)

**Figure 6-8: Set of all available filter rules**

To remove a filter rule, click the primary mouse button on the filter rule you wish to remove so the entry is highlighted and then click the `Remove Filter` button.

You may also modify the filter name or filter clause of a filter rule listed in the Table Filters tab by double-clicking on the cell of the filter name or filter clause you wish to change. When the cursor appears in the cell, enter the text for the desired change.
Expand All @@ -133,6 +149,8 @@ If you wish to change the conflict resolution options from their default setting

![Conflict Resolution Options tab](../images/image121.png)

**Figure 6-9: Conflict Resolution Options tab**

If during synchronization replication, conflicting changes are pending against the same row from different primary nodes, the conflict resolution strategy determines which of the conflicting changes is accepted and replicated to all primary nodes. The conflicting changes that are not accepted are discarded.

If the selection from the Conflict Resolution Strategy column does not resolve the conflict, the selection from the Standby Conflict Resolution Strategy column is applied. If neither strategy resolves the conflict, the event is marked as Pending in the Conflict History tab. See [Viewing Conflict History](07_view_conflict_history/#view_conflict_history) for information on viewing conflict history.
Expand All @@ -155,6 +173,10 @@ See [Conflict Resolution Strategies](06_conflict_resolution/04_conflict_resoluti

![Publication created successfully](../images/image122.png)

**Figure 6-10: Publication created successfully**

Upon successful publication creation, a Publication node is added to the replication tree.

![Replication tree after adding a publication](../images/image123.png)

**Figure 6-11: Replication tree after adding a publication**
Loading

0 comments on commit ac4fba9

Please sign in to comment.