Configuring Connection Manager
==============================

.. _configuring-connection-manager-1:

Configuring Connection Manager
------------------------------

Connection Manager takes its configuration from the PGD Group options
for the group the node is a member of.

These can be configured using the `pgd group set-option <https://www.enterprisedb.com/docs/pgd/latest/reference/cli/command_ref/group/set-option/>`_  command or the
:ref:`Group configuration using bdr.alter_node_group_option() <Group configuration using bdr.alter_node_group_option()>`  SQL function.

The following options are available for configuring Connection Manager:

.. csv-table::
  :header: Option,Default,Description
  :widths: 12,10,25
  :align: left
  :class: longtable

  read_write_port,Postgres's port + 1000<br/>(usually 6432),which port to listen on for read-write connections
  read_only_port,read_write_port + 1<br/>(usually 6433),which port to listen on for read-only connections
  http_port,read_write_port + 2<br/>(usually 6434),which HTTP port to listen for REST API calls (for integration purposes)
  use_https,false,"whether HTTP listener should use HTTPS, if enabled, the server certificate is used to TLS"
  server_pool_mode,none,"connection pooling mode. Valid values are `none` (no pooling), `session`, and `transaction`. See  :ref:`Connection pooling<Connection pooling>` ."
  server_pool_timeout,10 seconds,"how long to wait for an available pooled server connection before giving up, when `server_pool_mode` is `session` or `transaction`"
  read_write_max_client_connections,max_connection,"maximum read-write client connections allowed, defaults to max_connections"
  read_write_max_server_connections,max_connections,maximum read-write connections that will be opened to server
  read_only_max_client_connections,max_connections,maximum read-only client connections allowed
  read_only_max_server_connections,max_connections,maximum read-only connections that will be opened to server
  read_write_consensus_timeout,0 (immediate action),how long to wait on loss of consensus before read-write connections are no longer accepted
  read_only_consensus_timeout,0 (immediate action),how long to wait on loss of consensus before read-only connections are no longer accepted.

..  Note ::
   To enable HTTPS in Connection Manager, you must set `use_https`  option to `true`  and configure `ssl_cert_file`  and `ssl_key_file`  in `postgresql.conf`  or via the command line. HTTPS can be active even if global server SSL (`ssl = on` ) is disabled. If either certificate file is missing, Connection Manager defaults to plaintext HTTP regardless of the `use_https`  setting.
