Command reference#

The command name for the PGD command line interface is pgd .

Synopsis#

The EDB Postgres Distributed Command Line Interface (PGD CLI) is a tool to manage your EDB Postgres Distributed cluster. It allows you to run commands against EDB Postgres Distributed clusters. You can use it to inspect and manage cluster resources.

Commands#

User roles#

Each pgd command connects as a specific Postgres role, or, for a few node-management commands, requires only OS-level access. Every command page includes a section stating the role it needs.

These roles are created automatically when the BDR extension is installed, so you don’t need to create them yourself, only grant them to the user connecting with the CLI. See PGD predefined roles for the full privilege list behind each one.

Role

Description

bdr_superuser

Full PGD management. Granted ALL privileges directly on every table and function in the bdr schema, plus pg_read_all_stats. This is a superset of what every other role grants, even though it isn't formal role inheritance.

bdr_monitor

Read-only cluster monitoring. Inherits bdr_read_all_stats and pg_read_all_stats (not pg_read_all_settings). Many show/list commands still require bdr_superuser, since they use internal functions that aren't granted to bdr_monitor.

bdr_read_all_stats

Reads PGD statistics and catalog views. Inherits pg_read_all_stats.

bdr_application

Application-level access, such as reading commit scopes. A separate role, not part of the monitoring chain.

Postgres superuser

Required for ALTER SYSTEM, CREATE EXTENSION, and pg_upgrade. Separate from bdr_superuser.

OS user (pg_ctl)

Required by pgd node start/stop/restart, which are OS-level operations. No database role is checked.

Global Options#

All commands accept the following global options:

Short

Long

Description

-f

--config-file

Name/Path to config file.<br/>This is ignored if --dsn flag is present<br/>Default "/etc/edb/pgd-cli/pgd-cli-config.yml"

--dsn

Database connection string<br/>For example "host=bdr-a1 port=5432 dbname=pgddb user=postgres"<br/>Also set by PGD_CLI_DSN environment variable.

-h

--help

Help for pgd - will show specific help for any command used

-o

--output

Output format: json, psql, modern, markdown, simple (see Output formats )

Additional Options#

Run pgd -V to see the version information for the pgd CLI.

Output formats#

Used with the -o /--output option:

Format

Description

simple

Simple format - Output as a simple ASCII table (Default).

json

JSON format - Output as a JSON document, non-tabular

psql

PSQL format - Output as an ASCII table in the style of PSQL

modern

Modern format - Output as a table using box characters

markdown

Markdown table format - Output as a markdown compatible ASCII table