pgd group get-option
====================

Synopsis
--------

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

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

Requires the ``bdr_read_all_stats`` role or higher. See :ref:`User roles <User roles>`  .

Syntax
------

.. code:: plaintext

   pgd group <GROUP_NAME> get-option [OPTIONS] <OPTION>

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.
If you don’t specify an option, the command lists all group options. 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.
  analytics_storage_location,The storage location 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."

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.

When a value is shown followed by ``(inherited)`` , this means the value
is not specifically set on the group, but is inherited from a parent
group.

Options
-------

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

Examples
--------

List all group options
^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd group dc1_subgroup get-option
   __OUTPUT__
    Option Name                       | Option Value
   - ----------------------------------+---------------
    analytics_autoadd_tables          | false
    analytics_storage_location        |
    apply_delay                       | 00:00:00
    check_constraints                 | true
    default_commit_scope              | local protect
    enable_raft                       | true
    enable_routing                    | true
    enable_wal_decoder                | false
    http_port                         | 6434
    location                          |
    num_writers                       | 2
    read_only_consensus_timeout       | 00:00:00
    read_only_max_client_connections  | 250
    read_only_max_server_connections  | 250
    read_only_port                    | 6433
    read_write_consensus_timeout      | 00:00:00
    read_write_max_client_connections | 250
    read_write_max_server_connections | 250
    read_write_port                   | 6432
    route_reader_max_lag              | -1
    route_writer_max_lag              | -1
    route_writer_wait_flush           | false
    streaming_mode                    | null
    use_https                         | true

Get a specific group option
^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd group dc1_subgroup get-option location
   __OUTPUT__
    Option Name | Option Value
   - ------------+--------------
    location    | London

Get a specific group option as json
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code:: shell

   pgd group dc1_subgroup get-option location -o json
   __OUTPUT__
   [
     {
       "option_name": "location",
       "option_value": "London"
     }
   ]
