pgd assess v5
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.
Example
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