Skip to content

Commit

Permalink
Merge pull request #3004 from EnterpriseDB/release/2022-08-04
Browse files Browse the repository at this point in the history
Release: 2022-08-04
  • Loading branch information
drothery-edb authored Aug 4, 2022
2 parents 470f5eb + 34284a3 commit 55ff29a
Show file tree
Hide file tree
Showing 270 changed files with 960 additions and 1,344 deletions.
7 changes: 5 additions & 2 deletions install_template/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -542,11 +542,14 @@ products:
supported versions: [3.1]
- name: RHEL 8 or OL 8
arch: x86_64
supported versions: [11, 12, 13, 14]
supported versions: [3.1]
- name: RHEL 8
arch: ppc64le
supported versions: [3.1]
- name: Ubuntu 18.04
arch: x86_64
supported versions: [3.1]
- name: Ubuntu 18.04
- name: Ubuntu 20.04
arch: x86_64
supported versions: [3.1]
- name: Debian 10
Expand Down
10 changes: 10 additions & 0 deletions install_template/deploy.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,16 @@ const moveDoc = async (product, platform, version) => {
(ctx) => `edb_plus/40/03_installing_edb_plus/install_on_linux/${fmtArchPath(ctx)}/edbplus_ubuntu18_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB*Plus", version: 40}, platform: {name: "Ubuntu 20.04"}},
(ctx) => `edb_plus/40/03_installing_edb_plus/install_on_linux/${fmtArchPath(ctx)}/edbplus_ubuntu20_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "CentOS 7"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository/${fmtArchPath(ctx)}/epas_centos7_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "AlmaLinux 8 or Rocky Linux 8"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository//${fmtArchPath(ctx)}/epas_other_linux8_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "RHEL 7 or OL 7"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository//${fmtArchPath(ctx)}/epas_rhel7_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "RHEL 8 or OL 8"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository//${fmtArchPath(ctx)}/epas_rhel8_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "RHEL 8"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository//${fmtArchPath(ctx)}/epas_rhel8_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "SLES 12"}},
(ctx) => `epas/14/epas_inst_linux/installing_epas_using_edb_repository/${fmtArchPath(ctx)}/epas_sles12_${fmtArchFilename(ctx)}.mdx`),
when({product: {name: "EDB Postgres Advanced Server"}, platform: {name: "SLES 15"}},
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Installing the server package creates an operating system user named `enterprisedb`. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash` and the user's home directory is `/var/lib/edb/as{{ product.version }}`.
Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the `passwd` command to assign a password for the user. The default shell for the user is `bash` and the user's home directory is `/var/lib/edb/as{{ product.version }}`.
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
{% extends "products/edb-postgres-advanced-server/base.njk" %}
{% set platformBaseTemplate = "almalinux-8-or-rocky-linux-8" %}
{% block prerequisites %}
{{ super() }}
```shell
# Disable the built-in PostgreSQL module:
dnf -qy module disable postgresql
```
{% endblock prerequisites %}
{% block installCommand %}
{{ super() }}
{% include "products/edb-postgres-advanced-server/_centos-rhel-installcommand.njk" %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as{{ product.version }}/bin/edb-as-{{

# Start the database cluster
systemctl start edb-as-{{ product.version }}{% endblock debian_ubuntu %}

# To work in your cluster, login as the enterprisedb user
su - enterprisedb

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,2 @@
{% extends "products/postgis/base.njk" %}
{% set platformBaseTemplate = "almalinux-8-or-rocky-linux-8" %}
{% block prerequisites %}
{{ super() }}
1. Disable the built-in PostgreSQL module:

```sh
dnf -qy module disable postgresql
```
{% endblock prerequisites %}
18 changes: 16 additions & 2 deletions install_template/templates/products/postgis/base.njk
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
{% extends "platformBase/" + platformBaseTemplate + '.njk' %}
{% set packageName %}edb-as14-postgis3{% endset %}
{% block installCommand %}
{{ super() }}
{% include "platformBase/_epasVersionInPackageName.njk" %}
```shell
# If you are using EDB Postgres Advanced Server 13 or 14, use this format
# of the command:
apt-get install edb-as14-postgis32
# Where `14` is the version of EDB Postgres Advanced Server. Replace `14`
# with `13` if that is the version of EDB Postgres Advanced Server you
# are using.

# If you are using EDB Postgres Advanced Server 11 or 12, use this format
# of the command:
apt-get install edb-as12-postgis-3.2

# Where `12` is the version of EDB Postgres Advanced Server. Replace `12`
# with `11` if that is the version of EDB Postgres Advanced Server you
# are using.
```
{% endblock installCommand %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{% extends "products/postgis/rhel-8-or-ol-8.njk" %}
{% set includePPC = true %}
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,33 @@ redirects:
- connecting_your_cluster
---

You can connect to your cluster using [`psql`](http://postgresguide.com/utilities/psql.html), the terminal-based client for Postgres, or another client. For additional security measures see:
You can connect to your cluster using the client of your choice including:
- [`psql`](http://postgresguide.com/utilities/psql.html) — terminal-based client for Postgres
- pgAdmin — desktop or web UI client to inspect, monitor, manage, and query your cluster's databases
- other common database drivers

For additional security measures see:

- [Recommendations for settings for SSL mode](#recommended-settings-for-ssl-mode)
- [Using a private network to connect to your cluster](#setting-up-cloud-infrastructure-to-connect-to-a-private-network-cluster)

## Recommended settings for SSL mode

Different clients can have different default TLS/SSL modes (sslmode). For example, `psql` defaults to `prefer`, which means the client will attempt to establish a TLS connection but fall back to non-TLS if the server does not support it. In the `psql` example provided by EDB in the **Quick Connect** field, `sslmode` is explicitly set to `require`, which means the client will attempt a TLS connection and fail if the connection to the server can't be encrypted.

For public connections and in most environments, EDB recommends setting `sslmode` to `verify-full`. This setting ensures that you connect to the server you specified and that the connection is encrypted.

BigAnimal generates certificates with LetsEncrypt, a widely trusted certificate authority. Your client machine might already have a bundled CA certificate for LetsEncrypt, for example, at `/etc/ssl/certs/ca-certificates.crt` or `/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem`. If it doesn't, your client machine needs a [CA certificate for Let's Encrypt](https://letsencrypt.org/certificates/). Once the CA certificate is in place on your client machine, configure the `sslrootcert` parameter to its location and set the `sslmode` parameter to `verify-full` to verify the certificate to fully validate the connection.

To view the encryption protocol being used for communication, [connect to the cluster using `psql`](#connect-to-your-cluster-using-psql) and use the `conninfo` meta-command. In the case of BigAnimal, TLS (v1.2+) is supported:

```
edb_admin=> \conninfo
You are connected to database "edb_admin" as user "edb_admin" on host "xxxxxxxxx.xxxxx.biganimal.io" at port "5432".
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
```


## Connect to your cluster using `psql`

1. Sign in to the [BigAnimal](https://portal.biganimal.com) portal.
Expand All @@ -24,58 +46,80 @@ You can connect to your cluster using [`psql`](http://postgresguide.com/utilitie

5. Paste the command in your terminal.

## Connect to your cluster using a client other than `psql`

1. Sign in to the [BigAnimal](https://portal.biganimal.com) portal.
## Connect to your cluster using common database drivers

2. Go to the [Clusters](https://portal.biganimal.com/clusters) page.
1. Sign in to the [BigAnimal](https://portal.biganimal.com) portal.

3. Select the name of your cluster.
2. Go to the [Clusters](https://portal.biganimal.com/clusters) page.

4. Select the **Connect** tab. You can review and copy all the relevant information you need from this screen except for the edb_admin user password. Consult the client driver documentation for the connection string format or see [Recommended settings for SSL mode](#recommended-settings-for-ssl-mode) for sample connection strings of common drivers.
3. Select the name of your cluster.

## Recommended settings for SSL mode
4. Select the **Connect** tab. You can review and copy all the relevant information you need from this screen except for the edb_admin user password.

Different clients can have different default TLS/SSL modes (sslmode). For example, `psql` defaults to `prefer`, which means the client will attempt to establish a TLS connection but fall back to non-TLS if the server does not support it. In the `psql` example provided by EDB in the **Quick Connect** field, `sslmode` is explicitly set to `require`, which means the client will attempt a TLS connection and fail if the connection to the server can't be encrypted.
Connection string examples for common database drivers using the recommended setting for SSL mode (consult the client driver documentation for more information):

For public connections and in most environments, EDB recommends setting `sslmode` to `verify-full`. This setting ensures that you connect to the server you specified and that the connection is encrypted.
- libpq (psql)

```
psql -W "postgres://[email protected]:5432/edb_admin?sslmode=verify-full&sslrootcert=/usr/share/ca-certificates/ca-cert_name.pem"
```

BigAnimal generates certificates with LetsEncrypt, a widely trusted certificate authority. Your client machine might already have a bundled CA certificate for LetsEncrypt, for example, at `/etc/ssl/certs/ca-certificates.crt` or `/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem`. If it doesn't, your client machine needs a [CA certificate for Let's Encrypt](https://letsencrypt.org/certificates/). Once the CA certificate is in place on your client machine, configure the `sslrootcert` parameter to its location and set the `sslmode` parameter to `verify-full` to verify the certificate to fully validate the connection.
- JDBC for Java

Connection string examples for common database drivers:
```
jdbc:postgresql://xxxxxxxxx.xxxxx.biganimal.io:5432/edb_admin?&sslrootcert=/usr/share/ca-certificates/ca-cert_name.pem&sslmode=verify-full?user=edb_admin&password=$PWD
```

- libpq (psql)
- Npgsql for DotNet Core

```
psql -W "postgres://edb_admin@xxxxxxxxx.xxxxx.biganimal.io:5432/edb_admin?sslmode=verify-full&sslrootcert=/usr/share/ca-certificates/ca-cert_name.pem"
```
```
Host=xxxxxxxxx.xxxxx.biganimal.io;Port=5432;Username=edb_admin;Password=$PWD;Database=edb_admin;SslRootCert=/usr/share/ca-certificates/ca-cert_name.pem;SslMode=verify-full
```

- JDBC for Java
- ODBC for Windows

```
jdbc:postgresql://xxxxxxxxx.xxxxx.biganimal.io:5432/edb_admin?&sslrootcert=/usr/share/ca-certificates/ca-cert_name.pem&sslmode=verify-full?user=edb_admin&password=$PWD
```
```
Driver={PostgreSQL};Server=xxxxxxxxx.xxxxx.biganimal.io;Port=5432;Database=myDataBase;Uid=edb_admin;Pwd=$PWD;sslrootcert=C:\\ssl\\ca-certificate.pem;sslmode=verify-full;
```

- Npgsql for DotNet Core

```
Host=xxxxxxxxx.xxxxx.biganimal.io;Port=5432;Username=edb_admin;Password=$PWD;Database=edb_admin;SslRootCert=/usr/share/ca-certificates/ca-cert_name.pem;SslMode=verify-full
```
## Connect to your cluster using pgAdmin

- ODBC for Windows
To connect to your BigAnimal cluster from [pgAdmin](https://www.pgadmin.org/docs/), you need to enter your cluster values into pgAdmin. Keep BigAnimal and pgAdmin open to copy and paste the values.

```
Driver={PostgreSQL};Server=xxxxxxxxx.xxxxx.biganimal.io;Port=5432;Database=myDataBase;Uid=edb_admin;Pwd=$PWD;sslrootcert=C:\\ssl\\ca-certificate.pem;sslmode=verify-full;
```
Navigate to the location of the values:

1. Sign in to the [BigAnimal](https://portal.biganimal.com) portal.

Once connected to the cluster using `psql`, the `conninfo` meta-command shows the encryption protocol being used for communication. In the case of BigAnimal, TLS (v1.2+) is supported:
1. Go to the [Clusters](https://portal.biganimal.com/clusters) page.

```
edb_admin=> \conninfo
You are connected to database "edb_admin" as user "edb_admin" on host "xxxxxxxxx.xxxxx.biganimal.io" at port "5432".
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
```
1. Select the cluster you want to connect to.

1. Select the **Connect** tab.

Enter the values in pgAdmin:

1. Open pgAdmin.

1. In the **Quick Links** panel, select **Add New Server**.

1. In the Create-Server dialog box, under the **General** tab, enter a server name in the **Name** field.

1. Select the **Connection** tab.

1. Copy the corresponding values from BigAnimal and paste them into pgAdmin.

| BigAnimal field | pgAdmin field | Example value |
|-----------------|-------------------|---------------|
| Host | Host name/address | p-n85scw2ies.fcrziuxgkqazmhkl.s.edbcloud.io |
| Port | Port | 5432 |
| Dbname | Maintenance database | edb_admin |

1. In the **Username** and **Password** fields, enter the cluster's administrator credentials. These are the same credentials you set when configuring the cluster. If you didn't set the username, then copy and paste the default administrator username from the **User** field in BigAnimal.

1. In the **SSL** tab, set the **SSL mode** field to **Require**.

1. Select **Save**. pgAdmin attempts to connect to the BigAnimal cluster.



Expand All @@ -89,4 +133,4 @@ The Private Networking option offers a higher level of isolation and security by
For examples to guide you through the different methods of connecting to your cluster, see

- [Connecting from Azure](01_connecting_from_azure)
- [Connecting from AWS](02_connecting_from_aws)
- [Connecting from AWS](02_connecting_from_aws)
Loading

0 comments on commit 55ff29a

Please sign in to comment.