Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PGD 5.7 documentation updates #6422

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions product_docs/docs/pgd/5/cli/command_ref/assess/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
---
title: pgd assess
navTitle: Assess
---

## Synopsis

The `pgd assess` commands are used to assess the suitability of a Postgres server instance for migration to the EDB Postgres Distributed cluster.

The command must be run with a DSN that connects to the Postgres server instance that you want to assess. The command will check the Postgres server instance for compatibility with the EDB Postgres Distributed cluster, and will provide a report on the compatibility of the Postgres server instance.

## Options

The assess command has no command specific options.

See also [Global Options](../../index#global-options).

Check failure on line 16 in product_docs/docs/pgd/5/cli/command_ref/assess/index.mdx

View workflow job for this annotation

GitHub Actions / check-links

pathCheck

invalid URL path: ../../index#global-options (/pgd/5/cli/index)

## Example

```bash
pgd assess
__OUTPUT__
Multiple Databases
------------------
Multiple databases cannot be part of the same PGD cluster, it's possible to
create a separate PGD cluster for each database, but it's not recommended.
See https://www.enterprisedb.com/docs/pgd/latest/planning/limitations/ for
details.

Result: Compatible, found only one user database


Sequences
---------
PGD uses distributed sequences, two types are supported, see -
https://www.enterprisedb.com/docs/pgd/latest/sequences/ for details.

Existing sequences need to be converted to distributed sequences using the
following commands:

- SELECT bdr.alter_sequence_set_kind('public.quicktest_id_seq', 'galloc')

Result: Needs conversion to distributed sequences


Tables with Multiple Unique Indexes
-----------------------------------
Tables with multiple unique indexes may result in
"multiple_unique_conflicts" conflict, which can be problem when
using PGD as active-active system with concurrent workloads,
see https://www.enterprisedb.com/docs/pgd/latest/conflict-
management/conflicts/02_types_of_conflict/ for details.

Result: Compatible, no tables with multiple unique indexes found


Materialized Views
------------------
Materialized views are supported by PGD, however DDL commands
on them (CREATE, ALTER, DROP, REFRESH) are not replicated, see
https://www.enterprisedb.com/docs/pgd/latest/ddl/ddl-command-handling/ for
details.

Result: Compatible, no materialized views found


EPAS Queue Tables
-----------------
EPAS Queue Tables are not replicated by PGD, so they only work on per node
basis.

Result: Compatible, no EPAS Queue Tables found


LOCK TABLE Usage
----------------
LOCK TABLE is not replicated by default by PGD, if you need distributed
LOCK TABLE support, enable "bdr.lock_table_locking" on all nodes, see
https://www.enterprisedb.com/docs/pgd/latest/reference/pgd-settings/ for
details.

Result: requires static code analysis, could not analyze LOCK TABLE usage
with pg_stat_statements


DDL Command Usage
-----------------
There are some limitations in DDL command handling in PGD, see
https://www.enterprisedb.com/docs/pgd/latest/ddl/ddl-command-handling/ for
details.

Result: Cannot be checked automatically at this time, requires code analysis


LISTEN/NOTIFY Usage
-------------------
PGD is compatible with LISTEN/NOTIFY, however it works on each node
separately, just like with standard Postgres

Result: Could not analyze LISTEN/NOTIFY usage with pg_stat_statements


Row-Level Lock Usage
--------------------
Row-level locks are not replicated by default by PGD, and as such don't work
as concurrency protection across nodes, and conflict resolution will be used
instead, see https://www.enterprisedb.com/docs/pgd/latest/appusage/behavior/
for details.

Result: Requires static code analysis, could not analyze row-level locking
commands using pg_stat_statements


Advisory Lock Usage
-------------------
Advisory locks are not replicated by PGD, global
advisory lock functionality is provided instead, see
https://www.enterprisedb.com/docs/pgd/latest/reference/functions/#global-
advisory-locks for details.

Result: Requires static code analysis, could not analyze advisory lock
commands using pg_stat_statements


Large Objects
-------------
Large objects are not replicated by PGD, you can
still use "bytea" and other data types normally, see
https://www.enterprisedb.com/docs/pgd/latest/appusage/behavior/ for details.

Result: Compatible, no large objects found


Trigger/Reference Privileges
----------------------------
PGD enforces stricter access control rules on triggers and reference
columns. See https://www.enterprisedb.com/docs/pgd/latest/security/access-
control/#triggers for details.

Result: Compatible, no triggers with incompatible privileges found
```

12 changes: 12 additions & 0 deletions product_docs/docs/pgd/5/cli/command_ref/cluster/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: pgd cluster
navTitle: Cluster
---

The `pgd cluster` commands are used to manage the EDB Postgres Distributed cluster.

## Subcommands

- [show](show): Show cluster-level information.
- [verify](verify): Verify cluster-level information.

63 changes: 63 additions & 0 deletions product_docs/docs/pgd/5/cli/command_ref/cluster/show.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: pgd cluster show
navTitle: Show
---

## Synopsis

The `pgd cluster show` command is used to display the cluster-level information in the EDB Postgres Distributed cluster.

## Syntax

```plaintext
pgd cluster show [OPTIONS]
```

## Options

The following table lists the options available for the `pgd events show` command:

| Short | Long | Description |
|-------------|---------------------|---------------------------------------------------------|
| | --clock-drift | Only show detailed clock drift information. |
| | --summary | Only show cluster summary information. |
| | --health | Only show cluster health information. |

Only one of the above options can be specified at a time.

See also [Global Options](../index#global-options).

Check failure on line 28 in product_docs/docs/pgd/5/cli/command_ref/cluster/show.mdx

View workflow job for this annotation

GitHub Actions / check-links

pathCheck

invalid URL path: ../index#global-options (/pgd/5/cli/command_ref/index)

## Examples

### Display the cluster information

```shell
pgd cluster show
__OUTPUT__
# Summary
Group Name Parent Group Group Type Node Name Node Kind
---------- ------------ --------------- ---------- ---------------
pgd global
dc1 pgd data node-one data
dc1 pgd data node-three data
dc1 pgd data node-two data
sogroup1 pgd subscriber-only sonode-one subscriber-only
sogroup1 pgd subscriber-only sonode2 subscriber-only

# Health
Check Status Message
----------------- ------ -----------------------------------------------
Connections Ok All BDR nodes are accessible
Raft Ok Raft Consensus is working correctly
Replication Slots Ok All PGD replication slots are working correctly
Clock Skew Ok Clock drift is within permissible limit
Versions Ok All nodes are running the same PGD version

# Clock Drift
Reference Node Node Name Clock Drift
-------------- ---------- -----------
node-one node-two *
node-one node-three *
node-one sonode-one *
node-one sonode2 *
```
Loading
Loading