Skip to content

Commit

Permalink
Merge pull request #4620 from EnterpriseDB/release/2023-08-11
Browse files Browse the repository at this point in the history
Release: 2023-08-11
  • Loading branch information
drothery-edb authored Aug 11, 2023
2 parents a022f4a + a8b4662 commit ee5b8d3
Show file tree
Hide file tree
Showing 106 changed files with 1,362 additions and 681 deletions.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
---
title: Creating an extreme-high-availability cluster
title: Creating a distributed high-availability cluster
---

When you create an extreme-high-availability cluster, you need to set up the data group. Extreme-high-availability clusters can contain one or two data groups.
When you create a distributed high-availability cluster, you need to set up the data group. Distributed high-availability clusters can contain one or two data groups.

1. After specifying **Extreme High Availability** as your cluster type on the **Cluster Info** tab and your cluster name and password on the **Cluster Settings** tab, select **Next: Data Groups**.
1. After specifying **Distributed High Availability** as your cluster type on the **Cluster Info** tab and your cluster name and password on the **Cluster Settings** tab, select **Next: Data Groups**.

1. On the **Nodes Settings** tab, in the **Nodes** section, select **Two Data Nodes** or **Three Data Nodes**.

Expand Down Expand Up @@ -32,7 +32,7 @@ When you create an extreme-high-availability cluster, you need to set up the dat

## Creating a second data group

After creating the first data group, you can create a second data group for your extreme-high-availability cluster by selecting **Add a Data Group** before you create the cluster.
After creating the first data group, you can create a second data group for your distributed high-availability cluster by selecting **Add a Data Group** before you create the cluster.

By default, the settings for your first data group populate the second data group's settings. However, if you want to change certain settings you can. Just know that your changes can change the settings for the entire cluster. That being said, the database type and cloud provider must be consistent across both data groups. The data groups and the witness group must all be in different regions. Otherwise, you can choose the second data group's settings as needed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ A single-region configuration with three data nodes (one lead and two shadow nod

For instructions on creating a distributed high-availability cluster using the BigAnimal portal, see [Creating a distributed high-availability cluster](../getting_started/creating_a_cluster/creating_an_eha_cluster/).

For instructions on creating, retrieving information from, and managing a distributed high-availability cluster using the BigAnimal CLI, see [Using `pgd` commands](/biganimal/latest/reference/cli/managing_clusters/#using-pgd-commands).
For instructions on creating, retrieving information from, and managing a distributed high-availability cluster using the BigAnimal CLI, see [Using the BigAnimal CLI](/biganimal/latest/reference/cli/managing_clusters/#managing-distributed-high-availability-clusters).
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ We support the major Postgres versions from the date they're made available unti
| Postgres distribution | Versions |
| ---------------------------- | --------------------------------------------------- |
| PostgreSQL | 11–15 |
| EDB Postgres Advanced Server | 11–15, 14-15 for extreme-high-availability clusters |
| EDB Postgres Extended Server | 14-15 for extreme-high-availability clusters |
| EDB Postgres Advanced Server | 11–15, 14-15 for distributed high-availability clusters |
| EDB Postgres Extended Server | 14-15 for distributed high-availability clusters |

## End-of-life policy

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Before using the CLI to manage BigAnimal, you need to authenticate as a valid Bi

```shell
biganimal credential create\
--name "ba-user1" \
--name "ba-user1"
__OUTPUT__
Querying Authentication Endpoint for 'portal.biganimal.com'
First, copy your one-time code:
Expand Down
254 changes: 227 additions & 27 deletions product_docs/docs/biganimal/release/reference/cli/managing_clusters.mdx

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ __OUTPUT__

### Promote a faraway replica

You use the `faraway-replica promote` command to promote an existing replica to a standalone single-node or high-availability cluster. You can use either interactive mode or specify the settings with flags on the command line. This example shows interactive mode:
You use the `faraway-replica promote` command to promote an existing replica to a standalone single-node or primary/standby high-availability cluster. You can use either interactive mode or specify the settings with flags on the command line. This example shows interactive mode:

```
biganimal faraway-replica promote
Expand Down Expand Up @@ -89,13 +89,21 @@ For more information on IAM authentication for AWS, see [IAM authentication for

You can get the URLs to access Prometheus metrics and logs in your cloud provider's blob storage solution using the `cluster show-monitoring-urls` CLI command.

The syntax of the command is:
For single-node and primary/standby high-availability clusters, the syntax of the command is:

```
cluster show-monitoring-urls {--id | --provider --region --name} \
[--metrics] [--logs]
biganimal cluster show-monitoring-urls {--id | --provider --region \
--name} [--metrics] [--logs]
```

For distributed high-availability clusters, the syntax of the command is:

```
biganimal pgd show-group-monitoring-urls {--id --group-id} [--metrics] \
[--logs]
```


If you don't use the optional flags to specify the output type, the output includes both the metrics URL and the logs URL.

See [Other monitoring and logging solutions](/biganimal/latest/using_cluster/05_monitoring_and_logging/other_monitoring/) for more information about using the URLs to access metrics and logs.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ redirects:

Packages consist of two main components:

- The package specification, which is the public interface. You can reference these elements outside the package. Declare all database objects that are a part of a package in the specification.
- The package body, which contains the actual implementation of all the database objects declared in the package specification.
- The *package specification*, which is the public interface. You can reference these elements outside the package. Declare all database objects that are a part of a package in the specification.
- The *package body*, which contains the actual implementation of all the database objects declared in the package specification.

The package body implements the specifications in the package specification. It contains implementation details and private declarations that are invisible to the application. You can debug, enhance, or replace a package body without changing the specifications. Similarly, you can change the body without recompiling the calling programs because the implementation details are invisible to the application.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You can view the package specification and package body definition using the psq
\spb[+] [<schema_name>].<package_name>
```

## Examples
## Creating and viewing a package and a package body

Create a package and a package body `test_pkg` in the `public` schema:

Expand Down Expand Up @@ -99,9 +99,9 @@ END
edb=#
```

You can also view the definition of individual functions and procedures using the `\sf` command.
## Viewing function and procedure definitions

### Examples
You can also view the definition of individual functions and procedures using the `\sf` command.

Create the function and procedure:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ A package isn't an executable piece of code but a repository of code. When you u

## Creating the package specification

The package specification contains the definition of all the elements in the package that you can reference from outside of the package. These are called the public elements of the package, and they act as the package interface. The following code sample is a package specification:
The package specification contains the definition of all the elements in the package that you can reference from outside of the package. These are called the *public elements* of the package, and they act as the package interface. The following code sample is a package specification:

```sql
--
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ redirects:

This example incorporates various user-defined types in the context of a package.

## Package specification

The package specification of `emp_rpt` shows the declaration of a record type `emprec_typ` and a weakly typed `REF CURSOR, emp_refcur` as publicly accessible. It also shows two functions and two procedures. The function, `open_emp_by_dept`, returns the `REF CURSOR` type `EMP_REFCUR`. Procedures `fetch_emp` and `close_refcur` both declare a weakly typed `REF CURSOR` as a formal parameter.

```sql
Expand All @@ -37,6 +39,8 @@ IS
END emp_rpt;
```

## Package body

The package body shows the declaration of several private variables: a static cursor `dept_cur`, a table type `depttab_typ`, a table variable `t_dept`, an integer variable `t_dept_max`, and a record variable `r_emp`.

```sql
Expand Down Expand Up @@ -110,6 +114,7 @@ This package contains an initialization section that loads the private table var

The function `open_emp_by_dept` returns a `REF CURSOR` variable for a result set of employee numbers and names for a given department. This `REF CURSOR` variable can then be passed to the procedure `fetch_emp` to retrieve and list the individual rows of the result set. Finally, the procedure `close_refcur` can be used to close the `REF CURSOR` variable associated with this result set.

## Using anonymous blocks
The following anonymous block runs the package function and procedures. In the anonymous block's declaration section, note the declaration of cursor variable `v_emp_cur` using the package’s public `REF CURSOR` type, `EMP_REFCUR. v_emp_cur` contains the pointer to the result set that's passed between the package function and procedures.

```sql
Expand Down
Loading

2 comments on commit ee5b8d3

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.