Skip to content

Commit aebafa4

Browse files
authored
Docs/pgd/fix prerelease (#6873)
* Fix replication page Signed-off-by: Dj Walker-Morgan <dj.walker-morgan@enterprisedb.com> * Some fixes for link checking (local 0 bad paths) Signed-off-by: Dj Walker-Morgan <dj.walker-morgan@enterprisedb.com> --------- Signed-off-by: Dj Walker-Morgan <dj.walker-morgan@enterprisedb.com>
1 parent c04800a commit aebafa4

File tree

8 files changed

+35
-47
lines changed

8 files changed

+35
-47
lines changed

product_docs/docs/pgd/6/concepts/replication.mdx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ Asynchronous replication is the default mode of replication, but not the only on
3030

3131
In PGD, the following types of changes are replicated:
3232

33-
- **Data changes**: Inserts, updates, and deletes to tables are replicated to all nodes in the cluster. This is called DML (Data Manipulation Language) replication.
34-
- **Schema changes**: Changes to the structure of the database, such as creating or dropping tables, are also replicated to all nodes in the cluster. This is called DDL (Data Definition Language) replication. But not all DDL changes are replicated. For example, adding a column to a table is replicated, but dropping a column is not.
35-
- **Configuration changes**: Changes to the configuration of the database, such as changing the replication settings, are also replicated to all nodes in the cluster.
33+
- **Data changes**: Inserts, updates, and deletes to tables are replicated to all nodes in the cluster. This is called DML (Data Manipulation Language) replication.
34+
- **Schema changes**: Changes to the structure of the database, such as creating or dropping tables, are also replicated to all nodes in the cluster. This is called DDL (Data Definition Language) replication. But not all DDL changes are replicated. For example, adding a column to a table is replicated, but dropping a column is not.
35+
- **Configuration changes**: Changes to the configuration of the database, such as changing the replication settings, are also replicated to all nodes in the cluster.
3636

3737
Currently, PGD only replicates one Postgres database per cluster. This means that if you have multiple databases in your Postgres instance, only the database that is configured for replication will be replicated to the other nodes in the cluster. This is the same for both PGD Essential and PGD Expanded.
38-

product_docs/docs/pgd/6/known_issues.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ To modify a commit scope safely, use [`bdr.alter_commit_scope`](/pgd/latest/refe
5656

5757
- The EBD Postgres Advanced Server 17 data type [`BFILE`](/epas/latest/reference/sql_reference/02_data_types/03a_bfiles/) is not currently supported. This is due to `BFILE` being a file reference that is stored in the database, and the file itself is stored outside the database and not replicated.
5858

59-
- EDB Postgres Advanced Server's native autopartioning is not supported in PGD. See [Restrictions on EDB Postgres Advanced Server-native automatic partitioning](reference/tables-views-functions/autopartition/#restrictions-on-edb-postgres-advanced-server-native-automatic-partitioning) for more information.
59+
- EDB Postgres Advanced Server's native autopartioning is not supported in PGD. See [Restrictions on EDB Postgres Advanced Server-native automatic partitioning](/pgd/latest/reference/autopartition/#restrictions-on-edb-postgres-advanced-server-native-automatic-partitioning) for more information.
6060

6161
## Limitations
6262

product_docs/docs/pgd/6/reference/commit-scopes/index.mdx

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -37,47 +37,36 @@ PGD Essential offers a limited set of commit scopes that are pre-defined and can
3737

3838
## Introducing
3939

40-
* [Overview](overview) introduces the concepts and some of the essential
41-
terminology that's used when discussing synchronous commits.
40+
* [Overview](/pgd/latest/reference/commit-scopes/overview) introduces the concepts and some of the essential terminology that's used when discussing synchronous commits.
4241

43-
* [Durability terminology](durabilityterminology) lists terms used around PGD's
44-
durability options, including how to refer to nodes in replication.
42+
* [Durability terminology](/pgd/latest/reference/commit-scopes/durabilityterminology) lists terms used around PGD's durability options, including how to refer to nodes in replication.
4543

46-
* [Commit scopes](commit-scopes) is a more in-depth look at the structure
47-
of commit scopes and how to define them for your needs.
44+
* [Commit scopes](/pgd/latest/reference/commit-scopes/commit-scopes) is a more in-depth look at the structure of commit scopes and how to define them for your needs.
4845

49-
* [Predefined commit scopes](predefined-commit-scopes) lists the pre-defined commit scopes that are available in PGD Essential.
46+
* [Predefined commit scopes](/pgd/latest/reference/commit-scopes/predefined-commit-scopes) lists the pre-defined commit scopes that are available in PGD Essential.
5047

51-
* [Origin groups](origin_groups) introduces the notion of an origin group, and how to leverage these when defining commit scopes rules.
48+
* [Origin groups](/pgd/latest/reference/commit-scopes/origin_groups) introduces the notion of an origin group, and how to leverage these when defining commit scopes rules.
5249

53-
* [Commit scope rules](commit-scope-rules) looks at the syntax of and how to formulate
54-
a commit scope rule.
50+
* [Commit scope rules](/pgd/latest/reference/commit-scopes/commit-scope-rules) looks at the syntax of and how to formulate a commit scope rule.
5551

56-
* [Comparing durability options](comparing) compares how commit scope options behave with regard to durability.
52+
* [Comparing durability options](/pgd/latest/reference/commit-scopes/comparing) compares how commit scope options behave with regard to durability.
5753

58-
* [Degrading commit scope rules](degrading) shows how to set up a commit scope rule that can gracefully degrade to a lower setting in case of timeouts with a stricter setting.
54+
* [Degrading commit scope rules](/pgd/latest/reference/commit-scopes/degrading) shows how to set up a commit scope rule that can gracefully degrade to a lower setting in case of timeouts with a stricter setting.
5955

6056
## Commit scope kinds
6157

62-
* [Synchronous Commit](synchronous_commit) is a commit scope mechanism that works
63-
in a similar fashion to legacy synchronous replication, but from within the commit scope framework.
58+
* [Synchronous Commit](/pgd/latest/reference/commit-scopes/synchronous_commit) is a commit scope mechanism that works in a similar fashion to legacy synchronous replication, but from within the commit scope framework.
6459

65-
* [Group Commit](group-commit) focuses on the Group Commit option, where you can
66-
define a transaction as done when a group of nodes agrees it's done.
60+
* [Group Commit](/pgd/latest/reference/commit-scopes/group-commit) focuses on the Group Commit option, where you can define a transaction as done when a group of nodes agrees it's done.
6761

68-
* [CAMO](camo) focuses on the Commit At Most Once option, in which applications
69-
take responsibility for verifying that a transaction has been committed before
70-
retrying. This ensures that their commits only happen at most once.
62+
* [CAMO](/pgd/latest/reference/commit-scopes/camo) focuses on the Commit At Most Once option, in which applications take responsibility for verifying that a transaction has been committed before retrying. This ensures that their commits only happen at most once.
7163

72-
* [Lag Control](lag-control) looks at the commit scope mechanism which
73-
dynamically throttle nodes according to the slowest node and regulates how far
74-
out of sync nodes may go when a database node goes out of service.
64+
* [Lag Control](/pgd/latest/reference/commit-scopes/lag-control) looks at the commit scope mechanism which dynamically throttle nodes according to the slowest node and regulates how far out of sync nodes may go when a database node goes out of service.
7565

7666
## Working with commit scopes
7767

78-
* [Administering](administering) addresses how to manage a PGD cluster with Group Commit
79-
in use.
68+
* [Administering](/pgd/latest/reference/commit-scopes/administering) addresses how to manage a PGD cluster with Group Commit in use.
8069

81-
* [Legacy synchronous replication](legacy-sync) shows how you can still access traditional Postgres synchronous operations under PGD.
70+
* [Legacy synchronous replication](/pgd/latest/reference/commit-scopes/legacy-sync) shows how you can still access traditional Postgres synchronous operations under PGD.
8271

83-
* [Internal timing of operations](timing) compares legacy replication with PGD's async and synchronous operations, especially the difference in the order by which transactions are flushed to disk or made visible.
72+
* [Internal timing of operations](/pgd/latest/reference/commit-scopes/timing) compares legacy replication with PGD's async and synchronous operations, especially the difference in the order by which transactions are flushed to disk or made visible.

product_docs/docs/pgd/6/reference/conflict-management/conflicts/00_conflicts_overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ This avoidance happens naturally in many applications. For example, many consume
4545

4646
You might make a change just before a node goes down, so the change seems to be lost. You might then make the same change again, leading to two updates on different nodes. When the down node comes back up, it tries to send the older change to other nodes. It's rejected because the last update of the data is kept.
4747

48-
For `INSERT`/`INSERT` conflicts, use [global sequences](../../sequences/#pgd-global-sequences) to prevent this type of conflict.
48+
For `INSERT`/`INSERT` conflicts, use [global sequences](/pgd/latest/reference/sequences#pgd-global-sequences) to prevent this type of conflict.
4949

5050
For applications that assign relationships between objects, such as a room-booking application, applying `update_if_newer` might not give an acceptable business outcome. That is, it isn't useful to confirm to two people separately that they have booked the same room. The simplest resolution is to use Eager Replication to ensure that only one booking succeeds. More complex ways might be possible depending on the application. For example, you can assign 100 seats to each node and allow those to be booked by a writer on that node. But if none are available locally, use a distributed locking scheme or Eager Replication after most seats are reserved.
5151

product_docs/docs/pgd/6/reference/conflict-management/conflicts/02_types_of_conflict.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ This conflict generates the `insert_exists` conflict type, which is by default r
3131

3232
To resolve this conflict type, you can also use column-level conflict resolution and user-defined conflict triggers.
3333

34-
You can effectively eliminate this type of conflict by using [global sequences](../../sequences/#pgd-global-sequences).
34+
You can effectively eliminate this type of conflict by using [global sequences](/pgd/latest/reference/sequences#pgd-global-sequences).
3535

3636
### INSERT operations that violate UNIQUE or EXCLUDE constraints
3737

product_docs/docs/pgd/6/reference/nodes/index.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ redirects:
1414

1515
A PGD cluster can contain several different types of node, each with its own role. This section describes the different types of node that can be configured in a PGD cluster.
1616

17-
* [Overview](overview) is an overview the kinds of node that can exist in PGD clusters and their associated roles.
17+
* [Overview](/pgd/latest/reference/nodes/overview) is an overview the kinds of node that can exist in PGD clusters and their associated roles.
1818

19-
* [Witness nodes](witness_nodes) looks at the witness node, a special class of PGD node, dedicated to establishing consensus in a group.
19+
* [Witness nodes](/pgd/latest/reference/nodes/witness_nodes) looks at the witness node, a special class of PGD node, dedicated to establishing consensus in a group.
2020

21-
* [Logical standby nodes](logical_standby_nodes) shows how to efficiently keep a node on standby synchronized and ready to step in as a primary in the case of failure.
21+
* [Logical standby nodes](/pgd/latest/reference/nodes/logical_standby_nodes) shows how to efficiently keep a node on standby synchronized and ready to step in as a primary in the case of failure.
2222

23-
* [Subscriber-only nodes and groups](subscriber_only) looks at how subscriber-only nodes work with subscriber-only groups, how they boost read scalability and the different options for configuring them.
23+
* [Subscriber-only nodes and groups](/pgd/latest/reference/nodes/subscriber_only) looks at how subscriber-only nodes work with subscriber-only groups, how they boost read scalability and the different options for configuring them.
2424

2525

product_docs/docs/pgd/6/reference/sequences.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ means of discarded `INSERT` actions in multi-master replication.
2121

2222
!!! Note Permissions required
2323
This means that any user who wants to use sequences
24-
must have at least the [bdr_application](security/pgd-predefined-roles/#bdr_application)
24+
must have at least the [bdr_application](/pgd/latest/reference/security/pgd-predefined-roles#bdr_application)
2525
role assigned to them.
2626
!!!
2727

@@ -92,7 +92,7 @@ The `currval()` and `lastval()` functions work correctly for all types of global
9292

9393
In PGD 6.0 and later, the act of joining a node to a PGD group or creating a new grou also triggers a conversion of any local sequences into global sequences. Set [`bdr.default_sequence_kind`](/pgd/latest/reference/tables-views-functions/pgd-settings/#bdrdefault_sequence_kind) to `distributed`. This setting then selects the best kind of sequence to convert the local sequences into. If `bdr.default_sequence_kind` is set to `local`, the sequences are left as local sequences. Conversions to `galloc` are performed in a way that ensures that the sequence doesn't conflict with any other sequences in the group.
9494

95-
If you decide to start with local sequences and later switch to galloc sequences, you can do so by setting `bdr.default_sequence_kind` to `galloc` and then running the `bdr.alter_sequence_set_kind()` function on each sequence you want to convert. Be aware, though, that you need to manually set the starting values of the sequences to ensure that they don't conflict with any existing values in the table. See [Converting a local sequence to a galloc sequence](#converting-a-local-sequence-to-a-galloc-sequence) for more information about this in general and specifically [How to set a new start value for a sequence](#2-set-a-new-start-value-for-the-sequence).
95+
If you decide to start with local sequences and later switch to galloc sequences, you can do so by setting `bdr.default_sequence_kind` to `galloc` and then running the `bdr.alter_sequence_set_kind()` function on each sequence you want to convert. Be aware, though, that you need to manually set the starting values of the sequences to ensure that they don't conflict with any existing values in the table. See [Converting a local sequence to a galloc sequence](/pgd/latest/reference/sequences#converting-a-local-sequence-to-a-galloc-sequence) for more information about this in general and specifically [How to set a new start value for a sequence](/pgd/latest/reference/sequences#2-set-a-new-start-value-for-the-sequence).
9696

9797
### SnowflakeId sequences
9898

@@ -309,7 +309,7 @@ When the sequence kind is altered to `galloc`, it's rewritten and restarts from
309309
the defined start value of the local sequence. If this happens on an existing
310310
sequence in a production database, you need to query the current value and
311311
then set the start value appropriately. To help with this use case, PGD
312-
lets you pass a starting value with the function [`bdr.alter_sequence_set_kind()`](tables-views-functions/sequences/#bdralter_sequence_set_kind).
312+
lets you pass a starting value with the function [`bdr.alter_sequence_set_kind()`](/pgd/latest/reference/tables-views-functions/sequences#bdralter_sequence_set_kind).
313313
If you're already using offset and you have writes from multiple nodes, you
314314
need to check what's the greatest used value and restart the sequence to at least
315315
the next value:
@@ -347,7 +347,7 @@ SELECT * FROM bdr.sequence_alloc
347347

348348

349349
To see the ranges currently assigned to a given sequence on each node, execute the function
350-
[`bdr.galloc_chunk_info`](tables-views-functions/sequences/#bdrgalloc_chunk_info).
350+
[`bdr.galloc_chunk_info`](/pgd/latest/reference/tables-views-functions/sequences#bdrgalloc_chunk_info).
351351

352352
* Node `Node1` is using range from `333` to `2000333`.
353353

@@ -442,7 +442,7 @@ The internal contents of v1 and v2 aren't compatible. As such, the
442442
functions to manipulate them also aren't compatible. The v2 of `KSUUID` also
443443
no longer stores the `UUID` version number.
444444

445-
See [KSUUID v2 functions](tables-views-functions/sequences/#ksuuid-v2-functions) and [KSUUID v1 functions](tables-views-functions/sequences/#ksuuid-v1-functions) in the PGD reference.
445+
See [KSUUID v2 functions](/pgd/latest/reference/tables-views-functions/sequences/#ksuuid-v2-functions) and [KSUUID v1 functions](/pgd/latest/reference/tables-views-functions/sequences/#ksuuid-v1-functions) in the PGD reference.
446446

447447
### Step and offset sequences
448448

@@ -504,6 +504,6 @@ a one-row table that isn't part of a replication set to store a different
504504
value in each node.
505505

506506
## See also
507-
* [Global Sequence management interfaces](tables-views-functions/sequences/)
508-
* [KSUUID v2 functions](tables-views-functions/sequences/#ksuuid-v2-functions)
509-
* [KSUUID v1 functions](tables-views-functions/sequences/#ksuuid-v1-functions)
507+
* [Global Sequence management interfaces](/pgd/latest/reference/tables-views-functions/sequences/)
508+
* [KSUUID v2 functions](/pgd/latest/reference/tables-views-functions/sequences/#ksuuid-v2-functions)
509+
* [KSUUID v1 functions](/pgd/latest/reference/tables-views-functions/sequences/#ksuuid-v1-functions)

product_docs/docs/pgd/6/reference/tables-views-functions/sequences.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ This function executes only on the local node.
252252

253253
## KSUUID v2 functions
254254

255-
Functions for working with `KSUUID` v2 data, K-Sortable UUID data. See also [KSUUID in the sequences documentation](../sequences/#ksuuids).
255+
Functions for working with `KSUUID` v2 data, K-Sortable UUID data. See also [KSUUID in the sequences documentation](/pgd/latest/reference/sequences/#ksuuids).
256256

257257
### `bdr.gen_ksuuid_v2`
258258

@@ -314,7 +314,7 @@ This function executes only on the local node.
314314

315315
## KSUUID v1 functions
316316

317-
Functions for working with `KSUUID` v1 data, K-Sortable UUID data(v1). Deprecated - See [KSUUID in the sequences documentation](../sequences/#ksuuids) for details.
317+
Functions for working with `KSUUID` v1 data, K-Sortable UUID data(v1). Deprecated - See [KSUUID in the sequences documentation](/pgd/latest/reference/sequences#ksuuids) for details.
318318

319319

320320
### `bdr.gen_ksuuid`

0 commit comments

Comments
 (0)