Installing PGD Proxy v5.7
Installing PGD Proxy
You can use two methods to install and configure PGD Proxy to manage an EDB Postgres Distributed cluster. The recommended way to install and configure PGD Proxy is to use the EDB Trusted Postgres Architect (TPA) utility for cluster deployment and management.
Installing through TPA
If the PGD cluster is being deployed through TPA, then TPA installs and configures PGD Proxy automatically as per the recommended architecture. If you want to install PGD Proxy on any other node in a PGD cluster, then you need to attach the pgd-proxy role to that instance in the TPA configuration file. Also set the bdr_child_group
parameter before deploying, as this example shows. See Trusted Postgres Architect for more information.
- Name: proxy-a1 location: a node: 4 role: - pgd-proxy vars: bdr_child_group: group_a volumes: - device_name: /dev/sdf volume_type: none
Configuration
PGD Proxy connects to the PGD database for its internal operations, like getting proxy options and getting write leader details. Therefore, it needs a list of endpoints/dsn to connect to PGD nodes. PGD Proxy expects these configurations in a local config file pgd-proxy-config.yml
. Following is a working example of the pgd-proxy-config.yml
file:
log-level: debug cluster: name: cluster-name endpoints: - "host=bdr-a1 port=5432 dbname=bdrdb user=pgdproxy" - "host=bdr-a3 port=5432 dbname=bdrdb user=pgdproxy" - "host=bdr-a2 port=5432 dbname=bdrdb user=pgdproxy" proxy: name: "proxy-a1"
By default, in the cluster created through TPA, pgd-proxy-config.yml
is located in the /etc/edb/pgd-proxy
directory. PGD Proxy searches for pgd-proxy-config.yml
in the following locations. Precedence order is high to low.
/etc/edb/pgd-proxy
(default)$HOME/.edb/pgd-proxy
If you rename the file or move it to another location, specify the new name and location using the optional -f
or --config-file
flag when starting a service. See the sample service file.
You can set the log level for the PGD Proxy service using the top-level config parameter log-level
, as shown in the sample config. The valid values for log-level
are debug
, info
, warn
, and error
.
cluster.endpoints
and cluster.proxy.name
are mandatory fields in the config file. PGD Proxy always tries to connect to the first endpoint in the list. If it fails, it tries the next endpoint, and so on.
PGD Proxy uses endpoints given in the local config file only at proxy startup. After that, PGD Proxy retrieves the list of actual endpoints (route_dsn) from the PGD Proxy catalog. Therefore, the node option route_dsn
must be set for each PGD Proxy node. See route_dsn for more information.
Configuring health check
PGD Proxy provides HTTP(S) health check APIs. If the health checks are required, you can enable them by adding the following configuration parameters to the pgd-proxy configuration file. By default, it's disabled.