pgd group set-option
====================

Synopsis
--------

The ``pgd group set-option`` command is used to set group-level options
in the EDB Postgres Distributed cluster.

Users and roles
^^^^^^^^^^^^^^^

Requires the ``bdr_superuser`` role. See :ref:`User roles <User roles>`  .

Syntax
------

.. code:: plaintext

   pgd group <GROUP_NAME> set-option [OPTIONS] <OPTION> <VALUE>

Where ``<GROUP_NAME>`` is the name of the group for which you want to
get options.

And ``<OPTION>`` is the name of a specific group option you want to get
and ``<VALUE>`` is the value you want it set to. The following options
are available:

Group options
^^^^^^^^^^^^^

.. csv-table::
  :header: Option,Description
  :widths: 10,30
  :align: left
  :class: longtable

  apply_delay,The delay in applying changes to the group.
  check_constraints,Whether to check constraints in the group.
  default_commit_scope,The default commit scope of the group.
  enable_routing,Whether to enable routing in the group.
  enable_raft,Whether to enable Raft in the group.
  enable_wal_decoder,Whether to enable the WAL decoder in the group.
  location,The location of the group.
  num_writers,The number of writers in the group.
  route_reader_max_lag,The maximum lag for the reader in the group.
  route_writer_max_lag,The maximum lag for the writer in the group.
  streaming_mode,The streaming mode of the group.
  route_writer_wait_flush,The wait time for flushing the writer in the group.
  default_seqkind,The default sequence kind of the group.
  default_replica_identity,The default replica identity of the group.
  conflict_detection_method,The conflict detection method of the group.
  replay_progress_frequency,The replay progress frequency of the group.
  batch_inserts,Whether to enable batch inserts in the group.
  analytics_storage_location,The storage location for analytics in the group.
  analytics_write_catalog,The catalog service used for analytics in the group.
  analytics_autoadd_tables,Whether to automatically add tables to analytics in the group.
  evict_node_action,The action to take when a node exceeds `evict_node_lag_bytes`. `none` (the default) takes no action. `part` parts the node.
  evict_node_lag_bytes,"The maximum replication lag, in bytes, a node can accumulate before `evict_node_action` runs."

..  Note::
   From PGD 6.5, setting `analytics_storage_location`  or `analytics_write_catalog`  validates that the target is a reachable read/write path, and rejects the configuration otherwise. See  :ref:`Setting up PGAA <Setting up PGAA>`  for configuration steps.

Group Connection Manager options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table::
  :header: Option,Description
  :widths: 10,30
  :align: left
  :class: longtable

  read_write_port,which port to listen on for read-write connections
  read_only_port,which port to listen on for read-only connections
  http_port,which http port to listen for REST API calls (for integration purposes)
  use_https,"whether http listener should use HTTPS, if enabled, the server certificate is used to TLS"
  server_pool_mode,":ref:`Connection pooling<Connection pooling>`  mode: `none` (no pooling), `session`, or `transaction`"
  server_pool_timeout,"how long to wait for an available pooled server connection before giving up, when `server_pool_mode` is `session` or `transaction`, defaults to 10 seconds"
  read_write_max_client_connections,"maximum read-write client connections allowed, defaults to max_connections"
  read_write_max_server_connections,maximum read-write connections that will be opened to server
  read_only_max_client_connections,maximum read-only client connections allowed
  read_only_max_server_connections,maximum read-only connections that will be opened to server
  read_write_consensus_timeout,how long to wait on loss of consensus before read-write connections are no longer accepted
  read_only_consensus_timeout,how long to wait on loss of consensus before read-only connections are no longer accepted.

Group Proxy options (for PGD 5.x only)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table::
  :header: Option,Description
  :widths: 10,30
  :align: left
  :class: longtable

  proxy_listen_address,The listen address for the proxy in the group.
  proxy_listen_addresses,The listen addresses for the proxy in the group.
  proxy_listen_port,The listen port for the proxy in the group.
  proxy_max_client_conn,The maximum number of client connections for the proxy in the group.
  proxy_max_server_conn,The maximum number of server connections for the proxy in the group.
  proxy_server_conn_timeout,The server connection timeout for the proxy in the group.
  proxy_server_conn_keepalive,The server connection keepalive for the proxy in the group.
  proxy_fallback_node_groups,The fallback node groups for the proxy in the group.
  proxy_fallback_node_group_timeout,The fallback node group timeout for the proxy in the group.
  proxy_consensus_grace_period,The consensus grace period for the proxy in the group.
  proxy_read_listen_address,The listen address for the read proxy in the group.
  proxy_read_listen_addresses,The listen addresses for the read proxy in the group.
  proxy_read_listen_port,The listen port for the read proxy in the group.
  proxy_read_max_client_conn,The maximum number of client connections for the read proxy in the group.
  proxy_read_max_server_conn,The maximum number of server connections for the read proxy in the group.
  proxy_read_server_conn_keepalive,The server connection keepalive for the read proxy in the group.
  proxy_read_server_conn_timeout,The server connection timeout for the read proxy in the group.
  proxy_read_consensus_grace_period,The consensus grace period for the read proxy in the group.

Options
-------

No command specific options. See `Global Options <https://www.enterprisedb.com/docs/pgd/latest/reference/cli/command_ref/#global-options>`_  .

Examples
--------

Set the location of a group
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd group dc1_subgroup set-option location London
   __OUTPUT__
   Command executed successfully

Setting an option to a value with a space in it
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd group dc1_subgroup set-option location "New York"
   __OUTPUT__
   Command executed successfully
