Утилита pangolin-manager-ctl
Утилита pangolin-manager-ctl предоставляет CLI-интерфейс командной строки для взаимодействия с REST API Pangolin Manager и распределенным хранилищем конфигураций (DCS). Она предназначена для упрощения выполнения операций в кластере и может использоваться как администраторами, так и скриптами.
Настройка
pangolin-manager-ctl использует три раздела конфигурации:
ctl— способ аутентификации в REST API Pangolin Manager и проверка подлинности сервера.restapi— способ аутентификации в REST API Pangolin Manager и проверка подлинности сервера. Используется только в том случае, если конфигурацияctlнедостаточна.dcs(илиetcd) — как связаться с DCS, используемой Pangolin Manager, и аутентифицироваться в ней.
Эти параметры конфигурации могут быть получены из файла конфигурации. При этом возможно использование отдельного файл конфигурации, содержащего только разделы, необходимые для работы pangolin-manager-ctl (ctl, restapi, dcs), без остальных параметров, которые требуются сервису pangolin-manager для управления СУБД Pangolin. Для работы утилиты pangolin-manager-ctl требуется явное указание файла конфигурации через аргумент командной строки -c / --config-file.
Путь к файлу конфигурации, используемый по умолчанию в Pangolin Manager: /etc/pangolin-manager/postgres.yml. Путь файла, который будет использоваться (по умолчанию из поведения Patroni) при запуске утилиты без указания аргумента -c / --config-file: $PGHOME/.config/patroni/patronictl.yaml.
Еслиpangolin-manager-ctl запускается на том же хосте, что и сервис pangolin-manager, можно использовать общий файл конфигурации. В этом случае файл должен содержать заполненные разделы, необходимые для pangolin-manager-ctl. При этом аргумент -c / --config-file также задается явно.
Управление
pangolin-manager-ctl предоставляет несколько команд. Утилита имеет следующие аргументы командной строки:
-c / --config-file
Путь к файлу конфигурации.
-d / --dcs-url / --dcs
Строка подключения к DCS в формате DCS://HOST:PORT/NAMESPACE.
-k / --insecure
Флаг для обхода проверки SSL-сертификата сервера REST API.
Общий синтаксис вызова:
pangolin-manager-ctl [ { -c | --config-file } CONFIG_FILE ]
[ { -d | --dcs-url | --dcs } DCS_URL ]
[ { -k | --insecure } ]
SUBCOMMAND
pangolin-manager-ctl dsn
Команда получает строку подключения для одного участника кластера Pangolin Manager.
Если несколько участников соответствуют параметрам команды, будет выбран один из них с приоритетом основного узла.
Синтаксис:
dsn
[ CLUSTER_NAME ]
[ { { -r | --role } { leader | primary | standby-leader | replica | standby | any } | { -m | --member } MEMBER_NAME } ]
[ --group CITUS_GROUP ]
Опции:
CLUSTER_NAME
Имя кластера Pangolin Manager. Если не указано, утилита попытается получить его из конфигурации scope.
-r / --role
Выбор участника с заданной ролью: leader, primary, standby-leader, replica, standby, any.
-m / --member
Выбор участника кластера с указанным именем.
--group
Выбор участника, который является частью указанной группы Citus.
**Пример использования:
Получение DSN основного узла:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml dsn $CLUSTERNAME -r primary
Пример вывода:
host=127.0.0.1 port=5432
Получение DSN узла с именем srv2:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml dsn $CLUSTERNAME --member srv2
Пример вывода:
host=127.0.0.1 port=5433
pangolin-manager-ctl edit-config
Команда изменяет динамическую конфигурацию кластера и обновляет DCS.
При вызове через TTY команда пытается показать разницу динамической конфигурации через программу постраничного вывода. По умолчанию используетсяless или more.
Синтаксис:
edit-config
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { -q | --quiet } ]
[ { -s | --set } CONFIG="VALUE" [, ... ] ]
[ { -p | --pg } PG_CONFIG="PG_VALUE" [, ... ] ]
[ { --apply | --replace } CONFIG_FILE ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера Pangolin Manager.
--group
Изменение динамической конфигурации данной группы Citus.
-q / --quiet
Флаг для пропуска отображения разницы конфигурации.
-s / --set
Установка заданной динамической конфигурации с указанным значением.
-p / --pg
Установка заданного параметра динамической конфигурации СУБД Pangolin.
--apply
Применение динамической конфигурации из указанного файла.
--replace
Замена динамической конфигурации в DCS на конфигурацию из файла.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Изменение max_connections СУБД Pangolin:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml edit-config $CLUSTERNAME --pg max_connections="150" --force
Пример вывода:
---
+++
@@ -1,6 +1,8 @@
loop_wait: 10
maximum_lag_on_failover: 1048576
postgresql:
+ parameters:
+ max_connections: 150
pg_hba:
- host replication replicator 127.0.0.1/32 md5
- host all all 0.0.0.0/0 md5
Configuration changed
Изменение настроек loop_wait и ttl:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml edit-config $CLUSTERNAME --set loop_wait="15" --set ttl="45" --force
Пример вывода:
---
+++
@@ -1,4 +1,4 @@
-loop_wait: 10
+loop_wait: 15
maximum_lag_on_failover: 1048576
postgresql:
pg_hba:
@@ -6,4 +6,4 @@
- host all all 0.0.0.0/0 md5
use_pg_rewind: true
retry_timeout: 10
-ttl: 30
+ttl: 45
Configuration changed
Удаление настройки maximum_lag_on_failover из динамической конфигурации:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml edit-config $CLUSTERNAME --set maximum_lag_on_failover="null" --force
Пример вывода:
---
+++
@@ -1,5 +1,4 @@
loop_wait: 10
-maximum_lag_on_failover: 1048576
postgresql:
pg_hba:
- host replication replicator 127.0.0.1/32 md5
Configuration changed
pangolin-manager-ctl failover
Команда выполняет ручное переключение при отказе в кластере.
Предназначена для использования, когда кластер неисправен:
- нет лидера;
- нет синхронного резервирования в синхронном кластере.
Также позволяет переключиться на асинхронный узел, если включен синхронный режим.
Ничего не мешает запуститьpangolin-manager-ctl failover в исправном кластере. Однако в таких случаях рекомендуется использовать pangolin-manager-ctl switchover.
Инициирование аварийного переключение может привести к повреждению данных в зависимости от того, насколько актуальна продвигаемая реплика по сравнению с первичной.
Синтаксис:
failover
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { --leader | --primary } LEADER_NAME ]
--candidate CANDIDATE_NAME
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера Pangolin Manager.
--group
Выполнение переключения в данной группе Citus.
--leader / --primary
Ожидаемый лидер во время переключения. Если указано, выполняется штатное переключение вместо аварийного.
--candidate
Узел, который будет повышен при переключении.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Переключение на узел srv3:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml failover $CLUSTERNAME --candidate srv3 --force
Пример вывода:
Current cluster topology
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 3 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 3 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 3 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
2025-09-12 11:52:27.50978 Successfully failed over to "srv3"
+ Cluster: $CLUSTERNAME (<cluster_id>) --+---------+----+--------------+---------+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+---------+----+--------------+---------+------------+-----+
| srv1 | 127.0.0.1:5432 | Replica | stopped | | | unknown | | |
| srv2 | 127.0.0.1:5433 | Replica | running | 3 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Leader | running | 3 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+---------+----+--------------+---------+------------+-----+
pangolin-manager-ctl flush
Команда удаляет запланированные события, если таковые имеются.
Синтаксис:
flush
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
{ restart | switchover }
[ --group CITUS_GROUP ]
[ { -r | --role } { leader | primary | standby-leader | replica | standby | any } ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера Pangolin Manager.
MEMBER_NAME
Отмена запланированного события для указанного члена (членов). Можно указать несколько членов.
restart
Отмена запланированных событий перезапуска.
switchover
Отмена запланированного события переключения.
--group
Отмена запланированных событий из указанной группы Citus.
-r / --role
Отмена запланированных событий для участников с заданной ролью.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Отказ от запланированного события переключения:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml flush $CLUSTERNAME switchover --force
Пример вывода:
Success: scheduled switchover deleted
Отмена запланированного перезапуска всех резервных узлов:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml flush $CLUSTERNAME restart -r replica --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-----------+---------------------------+
| Member | Host | Role | State | TL | Lag | Scheduled restart |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | 2025-09-12T17:17:00+00:00 |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 | 2025-09-12T17:17:00+00:00 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 | 2025-09-12T17:17:00+00:00 |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
Success: flush scheduled restart for member srv2
Success: flush scheduled restart for member srv3
pangolin-manager-ctl history
Команда отображает историю событий отказа и переключения кластера.
Вывод включает следующую информацию:
TL— линия времени СУБД, на которой произошло событие;LSN— LSN СУБД, при котором произошло событие;Reason— причина, извлеченная из файла.history;Timestamp— время, когда произошло событие;New Leader— член Pangolin Manager, который был повышен во время события.
Синтаксис:
history
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
Опции:
CLUSTER_NAME
Имя кластера Pangolin Manager.
--group
Показать историю событий из данной группы Citus.
-f / --format
Формат списка событий: pretty, tsv, json, yaml. По умолчанию pretty.
Пример использования:
Вывод истории событий:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml history $CLUSTERNAME
Пример вывода:
+----+----------+------------------------------+----------------------------------+-------------+
| TL | LSN | Reason | Timestamp | New Leader |
+----+----------+------------------------------+----------------------------------+-------------+
| 1 | 24392648 | no recovery target specified | 2025-09-11T22:11:27.125527+00:00 | srv1 |
| 2 | 50331864 | no recovery target specified | 2025-09-12T11:34:03.148097+00:00 | srv1 |
| 3 | 83886704 | no recovery target specified | 2025-09-12T11:52:26.948134+00:00 | srv3 |
| 4 | 83887280 | no recovery target specified | 2025-09-12T11:53:09.620136+00:00 | srv1 |
+----+----------+------------------------------+----------------------------------+-------------+
Вывод истории событий в формате YAML:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml history $CLUSTERNAME -f yaml
Пример вывода:
- LSN: 24392648
New Leader: srv1
Reason: no recovery target specified
TL: 1
Timestamp: '2025-09-11T22:11:27.125527+00:00'
- LSN: 50331864
New Leader: srv1
Reason: no recovery target specified
TL: 2
Timestamp: '2025-09-12T11:34:03.148097+00:00'
- LSN: 83886704
New Leader: srv3
Reason: no recovery target specified
TL: 3
Timestamp: '2025-09-12T11:52:26.948134+00:00'
- LSN: 83887280
New Leader: srv1
Reason: no recovery target specified
TL: 4
Timestamp: '2025-09-12T11:53:09.620136+00:00'
pangolin-manager-ctl list
Команда отображает информацию о кластере Pangolin Manager и его участниках.
Вывод включает следующую информацию:
-
Cluster— имя кластера. -
Member— имя участника кластера. -
Host— хост, на котором расположен участник. -
Role— текущая роль участника. Возможные значения:Leader— текущий лидер обычного кластера.Standby Leader— текущий лидер резервного кластера.Sync Standby— синхронная резервная копия кластера с включенным синхронным режимом.Replica— обычная резервная копия кластера.
-
State— текущее состояние СУБД на участнике. Возможные значения:running— СУБД запущена и работает.streaming— репликация в процессе, СУБД получает журналы WAL от основного узла.in archive recovery— репликация в процессе, СУБД получает журналы WAL из архива.stopped— СУБД была остановлена.crashed— СУБД аварийно завершила работу.
-
TL— текущая временная шкала СУБД на участнике. -
Receive LSN— последнее местоположение журнала транзакций, полученное и синхронизированное с диском потоковой репликацией участника (pg_catalog.pg_last_wal_receive_lsn()). -
Receive Lag— отставание репликации между позицией Receive LSN участника и его вышестоящим узлом в мегабайтах. -
Replay LSN— последнее местоположение журнала транзакций, воспроизведенное во время восстановления участника (pg_catalog.pg_last_wal_replay_lsn()). -
Replay Lag— отставание репликации между позицией Replay LSN участника и его вышестоящим узлом в мегабайтах.
Дополнительно в выводе может отображаться следующая информация:
System identifier— идентификатор системы СУБД Pangolin. Отображается в заголовке таблицы только в форматеpretty.Group— идентификатор группы Citus. Отображается в заголовке таблицы только для кластера Citus.Pending restart— символ*указывает, что узлу требуется перезапуск для применения некоторых параметров конфигурации СУБД. Пустое значение означает, что перезапуск не требуется. Отображается как атрибут участника при выводе в форматеprettyилиtsvс расширенной информацией, либо если узлу требуется перезапуск.Scheduled restart— временная метка, на которую запланирован перезапуск экземпляра СУБД, управляемого участником Pangolin Manager. Пустое значение означает, что запланированного перезапуска нет. Отображается как атрибут участника при выводе в форматеprettyилиtsvс расширенной информацией, либо если для узла запланирован перезапуск.Tags— теги, настроенные для участника Pangolin Manager. Пустое значение означает, что теги не настроены или настроены со значениями по умолчанию. Отображается как атрибут участника при выводе в форматеprettyилиtsvс расширенной информацией, либо если для узла настроены пользовательские теги или теги по умолчанию с отличными от значений по умолчанию.Scheduled switchover— временная метка, на которую запланировано переключение для кластера Pangolin Manager (если таковое имеется). Отображается в нижнем колонтитуле таблицы только при наличии запланированного переключения и выводе в форматеpretty.Maintenance mode— индикатор того, что мониторинг кластера временно приостановлен. Отображается в нижнем колонтитуле таблицы только при приостановке кластера и выводе в форматеpretty.
Синтаксис:
list
[ CLUSTER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -e | --extended } ]
[ { -t | --timestamp } ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
[ { -W | { -w | --watch } TIME } ]
[ --api-address ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Показать информацию об участниках данной группы Citus.
-e / --extended
Отобразить расширенную информацию (Pending restart, Scheduled restart, Tags).
-t / --timestamp
Печать метки времени перед выводом информации.
-f / --format
Формат вывода: pretty, tsv, json, yaml. По умолчанию pretty.
-W
Автоматически обновлять информацию каждые 2 секунды.
-w / --watch
Интервал обновления информации в секундах.
--api-address
Адрес REST API к которому будет произведен запрос для получения списка узлов кластера
Пример использования:
Вывод информации о кластере:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml list $CLUSTERNAME
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) -----+-----------+----+-------------+-----+------------+-----+
|Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+------------+----------------+--------------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 2 | | | | |
| srv2 | 127.0.0.1:5433 | Sync Standby | streaming | 2 | 0/C000000 | 0 | 0/C000000 | 0 |
+------------+----------------+--------------+-----------+----+-------------+-----+------------+-----+
Вывод информации о кластере в расширенном формате:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml list $CLUSTERNAME -e
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) ----------+----+-------------+-----+------------+-----+-----------------+------------------------+-------------------+------+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag | Pending restart | Pending restart reason | Scheduled restart | Tags |
+---------+----------------+---------+-----------+----+-------------+-----+------------+-----+-----------------+------------------------+-------------------+------+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/40004E8 | 0 | 0/40004E8 | 0 | * | | | |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/40004E8 | 0 | 0/40004E8 | 0 | | | | |
+---------+----------------+---------+-----------+----+-------------+-----+------------+-----+-----------------+------------------------+-------------------+------+
pangolin-manager-ctl pause
Команда временно переводит кластер Pangolin Manager в режим обслуживания и отключает автоматический отказоустойчивый переход.
Синтаксис:
pause
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ --wait ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Приостановить данную группу Citus.
--wait
Ожидание, пока все участники будут приостановлены.
Пример использования:
Перевод кластера в режим обслуживания и ожидание паузы всех узлов:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml pause $CLUSTERNAME --wait
Пример вывода:
'pause' request sent, waiting until it is recognized by all nodes
Success: cluster management is paused
pangolin-manager-ctl query
Команда выполняет SQL-команду или сценарий для участника кластера СУБД.
Синтаксис:
query
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { { -r | --role } { leader | primary | standby-leader | replica | standby | any } | { -m | --member } MEMBER_NAME } ]
[ { -d | --dbname } DBNAME ]
[ { -U | --username } USERNAME ]
[ --password ]
[ --format { pretty | tsv | json | yaml } ]
[ { { -f | --file } FILE_NAME | { -c | --command } SQL_COMMAND } ]
[ --delimiter ]
[ { -W | { -w | --watch } TIME } ]
Опции:
CLUSTER_NAME
Имя кластера СУБД.
--group
Запрос указанной группы Citus.
-r / --role
Выбор участника с заданной ролью.
-m / --member
Выбор участника с указанным именем.
-d / --dbname
База данных для подключения и выполнения запроса.
-U / --username
Пользователь для подключения к базе данных.
--password
Запрос пароля для подключающегося пользователя.
--format
Формат вывода: pretty, tsv, json, yaml. По умолчанию tsv.
-f / --file
Путь к файлу с командами SQL.
-c / --command
Команда SQL для выполнения.
--delimiter
Разделитель при выводе в формате tsv.
-W
Автоматически повторять выполнение запроса каждые 2 секунды.
-w / --watch
Интервал между повторными запусками в секундах.
Пример использования:
Выполнение команды SQL от имени пользователя postgres с запросом пароля:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml query $CLUSTERNAME -U postgres --password -c "SELECT now()"
Пример вывода:
Password:
now
2025-09-12 18:10:53.228084+00:00
Выполнение SQL-команды и вывод результата каждые 2 секунды в формате pretty:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml query $CLUSTERNAME -c "SELECT now()" --format pretty -W
Пример вывода:
+----------------------------------+
| now |
+----------------------------------+
| 2025-09-12 18:12:16.716235+00:00 |
+----------------------------------+
+----------------------------------+
| now |
+----------------------------------+
| 2025-09-12 18:12:18.732645+00:00 |
+----------------------------------+
pangolin-manager-ctl reinit
Команда восстанавливает экземпляр резервной копии СУБД Pangolin, управляемый репликой — членом кластера СУБД.
Синтаксис:
reinit
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ --wait ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера.
MEMBER_NAME
Имя реплики, для которой будет восстановлен экземпляр СУБД Pangolin. Можно указать несколько членов.
--group
Повторное создание участника реплики данной группы Citus.
--wait
Ожидание завершения повторной инициализации.
--from-leader
Получить резервную копию (basebackup) непосредственно с ведущего узла.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Запрос перестройки всех реплик кластера Pangolin Manager:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml reinit $CLUSTERNAME srv2 srv3 --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Success: reinitialize for member srv2
Success: reinitialize for member srv3
Запрос перестройки srv3 и ожидание ее завершения:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml reinit $CLUSTERNAME srv3 --wait --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Success: reinitialize for member srv3
Waiting for reinitialize to complete on: srv3
Reinitialize is completed on: srv3
pangolin-manager-ctl reload
Команда запрашивает перезагрузку локальной конфигурации для одного или нескольких участников Pangolin Manager.
Отправляет SIGHUP дочернему процессу СУБД postgresql, даже если ничего не изменилось.
Синтаксис:
reload
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -r | --role } { leader | primary | standby-leader | replica | standby | any } ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера.
MEMBER_NAME
Запрос перезагрузки для указанного члена (членов). Можно указать несколько.
--group
Запрос перезагрузки участников данной группы Citus.
-r / --role
Выбор участников с заданной ролью.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Запрос перезагрузки локальной конфигурации всех членов кластера СУБД:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml reload $CLUSTERNAME --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Reload request received for member srv1 and will be processed within 10 seconds
Reload request received for member srv2 and will be processed within 10 seconds
Reload request received for member srv3 and will be processed within 10 seconds
pangolin-manager-ctl remove
Команда удаляет информацию о кластере из DCS.
Эта операция уничтожит информацию о кластере Pangolin Manager из DCS.
Синтаксис:
remove
CLUSTER_NAME
[ --group CITUS_GROUP ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Удаление информации о кластере, связанной с данной группы Citus.
-f / --format
Формат вывода участников: pretty, tsv, json, yaml. По умолчанию pretty.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Удаление информации о кластере Pangolin Manager $CLUSTERNAME из DCS:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml remove $CLUSTERNAME
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Please confirm the cluster name to remove: $CLUSTERNAME
You are about to remove all information in DCS for $CLUSTERNAME, please type: "Yes I am aware": Yes I am aware
This cluster currently is healthy. Please specify the leader name to continue: srv1
pangolin-manager-ctl restart
Команда запрашивает перезагрузку экземпляра СУБД Pangolin, управляемого членом кластера Pangolin Manager.
Перезагрузка может быть выполнена немедленно или запланирована на другое время.
Синтаксис:
restart
CLUSTER_NAME
[ MEMBER_NAME [, ...] ]
[ --group CITUS_GROUP ]
[ { -r | --role } { leader | primary | standby-leader | replica | standby | any } ]
[ --any ]
[ --pg-version PG_VERSION ]
[ --pending ]
[ --timeout TIMEOUT ]
[ --scheduled TIMESTAMP ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Перезапуск кластера, связанного с данной группой Citus.
-r / --role
Выбор участников с заданной ролью.
--any
Перезапуск одного случайного узла среди тех, которые соответствуют фильтрам.
--pg-version
Выбор участников с версией СУБД Pangolin старше указанной.
--pending
Выбор участников, помеченных как Pending restart.
--timeout
Тайм-аут перезапуска в секундах.
--scheduled
Временная метка запланированного перезапуска.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Немедленный перезапуск всех участников кластера:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml restart $CLUSTERNAME --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Success: restart on member srv1
Success: restart on member srv2
Success: restart on member srv3
Немедленный перезапуск случайного члена кластера:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml restart $CLUSTERNAME --any --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 6 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Success: restart on member srv2
Запланированная перезагрузка на 2025-09-13T18:00-03:00:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml restart $CLUSTERNAME --scheduled 2025-09-13T18:00-03:00 --force
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 6 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Success: restart scheduled on member srv1
Success: restart scheduled on member srv2
Success: restart scheduled on member srv3
pangolin-manager-ctl resume
Команда выводит кластер Pangolin Manager из режима обслуживания и снова включает автоматическое переключение при повреждении.
Синтаксис:
resume
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ --wait ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Возобновление работы группы Citus.
--wait
Ожидание, пока все члены снимут паузу.
Пример использования:
Вывод кластера из режима обслуживания:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml resume $CLUSTERNAME --wait
Пример вывода:
'resume' request sent, waiting until it is recognized by all nodes
Success: cluster management is resumed
pangolin-manager-ctl show-config
Команда показывает динамическую конфигурацию кластера, которая хранится в DCS.
Синтаксис:
show-config
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Показать динамическую конфигурацию группы Citus.
Пример использования:
Показать динамическую конфигурацию кластера $CLUSTERNAME:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml show-config $CLUSTERNAME
Пример вывода:
loop_wait: 10
maximum_lag_on_failover: 1048576
postgresql:
parameters:
auth_activity_period: '60'
authentication_max_workers: '16'
logical_decoding_work_mem: 64MB
max_connections: '110'
max_prepared_transactions: '12'
max_replication_slots: '10'
max_wal_senders: '10'
max_worker_processes: '32'
track_commit_timestamp: false
wal_keep_size: 8GB
wal_level: replica
wal_log_hints: true
use_pg_rewind: true
use_slots: true
retry_timeout: 60
synchronous_mode: true
synchronous_mode_strict: false
ttl: 135
pangolin-manager-ctl switchover
Команда выполняет переключение в кластере.
Предназначена для использования при нормальной работе кластера:
- есть лидер;
- доступны синхронные резервные копии в синхронном кластере.
Если кластер неисправен, следует использоватьpangolin-manager-ctl failover.
Синтаксис:
switchover
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { --leader | --primary } LEADER_NAME ]
--candidate CANDIDATE_NAME
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Выполнить переключение в указанной группе Citus.
--leader / --primary
Лидер, которого следует понизить при переключении.
--candidate
Узел, который будет повышен при переключении.
--scheduled
Временная метка запланированного переключения.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Переключение на узел srv3:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml switchover $CLUSTERNAME --leader srv1 --candidate srv3 --force
Пример вывода:
Current cluster topology
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 5 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
2025-09-13 14:15:23.07497 Successfully switched over to "srv3"
+ Cluster: $CLUSTERNAME (<cluster_id>) --+---------+----+-------------+---------+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+---------+----+-------------+---------+------------+-----+
| srv1 | 127.0.0.1:5432 | Replica | stopped | | | unknown | | |
| srv2 | 127.0.0.1:5433 | Replica | running | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Leader | running | 6 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+---------+----+-------------+---------+------------+-----+
Запланированное переключение между srv1 и srv3:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml switchover $CLUSTERNAME --leader srv1 --candidate srv3 --scheduled 2025-09-13T18:00-03:00 --force
Пример вывода:
Current cluster topology
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 8 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 8 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 8 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
2025-09-13 14:18:11.20661 Switchover scheduled
+ Cluster: $CLUSTERNAME (<cluster_id>) --+-----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 8 | | | | |
| srv2 | 127.0.0.1:5433 | Replica | streaming | 8 | 0/C000000 | 0 | 0/C000000 | 0 |
| srv3 | 127.0.0.1:5434 | Replica | streaming | 8 | 0/C000000 | 0 | 0/C000000 | 0 |
+-------------+----------------+---------+-----------+----+-------------+-----+------------+-----+
Switchover scheduled at: 2025-09-13T18:00:00-03:00
from: srv1
to: srv3
pangolin-manager-ctl topology
Команда отображает информацию о кластере Pangolin Manager и его участниках в виде дерева.
Вывод включает следующую информацию:
-
Cluster— имя кластера (отображается в заголовке таблицы). -
System identifier— идентификатор системы СУБД Pangolin (отображается в заголовке таблицы). -
Member— имя участника кластера. Информация отображается в виде дерева участников с точки зрения репликационных соединений. -
Host— хост, на котором расположен участник. -
Role— текущая роль участника. Возможные значения:Leader— текущий лидер обычного кластера.Standby Leader— текущий лидер резервного кластера.Sync Standby— синхронная резервная копия кластера с включенным синхронным режимом.Replica— обычная резервная копия кластера.
-
State— текущее состояние СУБД на узле. Возможные значения:running— СУБД запущена и работает.streaming— репликация в процессе, СУБД получает журналы WAL от основного узла.in archive recovery— репликация в процессе, СУБД получает журналы WAL из архива.stopped— СУБД была остановлена.crashed— СУБД аварийно завершила работу.
-
TL— текущая временная шкала СУБД на участнике. -
Receive LSN— последнее местоположение журнала транзакций, полученное и синхронизированное с диском потоковой репликацией участника (pg_catalog.pg_last_wal_receive_lsn()). -
Receive Lag— отставание репликации между позицией Receive LSN участника и его вышестоящим узлом в мегабайтах. -
Replay LSN— последнее местоположение журнала транзакций, воспроизведенное во время восстановления участника (pg_catalog.pg_last_wal_replay_lsn()). -
Replay Lag— отставание репликации между позицией Replay LSN участника и его вышестоящим узлом в мегабайтах.
Дополнительно в выводе может отображаться следующая информация:
Group— идентификатор группы Citus.Pending restart— символ*указывает, что узлу требуется перезапуск для применения некоторых параметров конфигурации СУБД. Пустое значение означает, что перезапуск не требуется. Отображается как атрибут участника, которому требуется перезапуск.Scheduled restart— временная метка, на которую запланирован перезапуск экземпляра СУБД, управляемого участником Pangolin Manager. Пустое значение означает, что запланированного перезапуска нет. Отображается как атрибут участника, если для узла запланирован перезапуск.Tags— теги, настроенные для участника Pangolin Manager. Пустое значение означает, что теги не настроены или настроены со значениями по умолчанию. Отображается как атрибут участника, если для узла настроены пользовательские теги или теги по умолчанию с отличными от значений по умолчанию.Scheduled switchover— временная метка, на которую запланировано переключение для кластера Pangolin Manager (если таковое имеется). Отображается в нижнем колонтитуле таблицы только при наличии запланированного переключения.Maintenance mode— индикатор того, что мониторинг кластера временно приостановлен. Отображается в нижнем колонтитуле таблицы только при приостановке кластера.
Синтаксис:
topology
[ CLUSTER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -W | { -w | --watch } TIME } ]
Опции:
CLUSTER_NAME
Имя кластера.
--group
Показать информацию о участниках группы Citus.
-W
Автоматически обновлять информацию каждые 2 секунды.
-w / --watch
Интервал обновления в секундах.
Пример использования:
Показать топологию кластера $CLUSTERNAME:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml topology $CLUSTERNAME
Пример вывода:
+ Cluster: $CLUSTERNAME (<cluster_id>) ----------+----+-------------+-----+------------+-----+
| Member | Host | Role | State | TL | Receive LSN | Lag | Replay LSN | Lag |
+---------+----------------+---------+-----------+----+-------------+-----+------------+-----+
| srv1 | 127.0.0.1:5432 | Leader | running | 8 | | | | |
| + srv2 | 127.0.0.1:5433 | Replica | streaming | 8 | 0/40004E8 | 0 | 0/40004E8 | 0 |
| + srv3 | 127.0.0.1:5434 | Replica | streaming | 8 | 0/40004E8 | 0 | 0/40004E8 | 0 |
+---------+----------------+---------+-----------+----+-------------+-----+------------+-----+
pangolin-manager-ctl version
Команда получает версию приложения pangolin-manager-ctl. Также может включать информацию о версии кластеров Pangolin Manager и их участников.
Синтаксис:
version
[ CLUSTER_NAME [, ... ] ]
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
Опции:
CLUSTER_NAME
Имя кластера.
MEMBER_NAME
Имя участника кластера.
--group
Рассмотреть кластер Pangolin Manager с заданной группой Citus.
Пример использования:
Получить версию:
$ pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml version
Пример вывода:
Pangolin Manager ctl version 4.2.0
patronictl version 4.1.1
pangolin-manager-ctl demote-cluster
Команда преобразует обычный кластер Pangolin Manager в резервный (standby) кластер.
Команда обновляет динамическую конфигурацию, добавляя раздел standby_cluster с параметрами подключения к удаленному основному узлу, затем ожидает, пока лидер не начнет работать в режиме резервного лидера. Перед изменением конфигурации выводится текущая топология кластера и запрашивается подтверждение, если не используется флаг --force.
Необходимо указать хотя бы один из параметров: --host, --port или --restore-command.
Синтаксис:
demote-cluster
[ CLUSTER_NAME ]
[ --host HOST ]
[ --port PORT ]
[ --restore-command RESTORE_COMMAND ]
[ --primary-slot-name PRIMARY_SLOT_NAME ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера. Если не указано, утилита попытается получить его из конфигурации scope.
--host
Адрес удаленного узла.
--port
Порт удаленного узла.
--restore-command
Команда для восстановления записей WAL с удаленного основного узла.
--primary-slot-name
Имя слота репликации на удаленном узле для использования при репликации.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Понижение кластера до резервного, который следует за удаленным основным узлом:
$ pangolin-manager-ctl -c postgres0.yml demote-cluster batman --host 127.0.0.1 --port 5432 --primary-slot-name $CLUSTERNAME --force
pangolin-manager-ctl promote-cluster
Команда преобразует резервный (standby) кластер в обычный кластер Pangolin Manager.
Команда удаляет раздел standby_cluster из динамической конфигурации и ожидает, пока лидер не начнет работать в режиме основного узла. Перед изменением конфигурации выводится текущая топология кластера и запрашивается подтверждение, если не используется флаг --force.
Синтаксис:
promote-cluster
[ CLUSTER_NAME ]
[ --force ]
Опции:
CLUSTER_NAME
Имя кластера. Если не указано, утилита попытается получить его из конфигурации scope.
--force
Флаг для пропуска запросов подтверждения.
Пример использования:
Повышение резервного кластера до обычного кластера Pangolin Manager:
$ pangolin-manager-ctl -c postgres0.yml promote-cluster $CLUSTERNAME --force
pangolin-manager-ctl validated-gucs
Команда выводит список GUC-параметров, для которых имеются проверки в валидаторе с их описанием.
Синтаксис:
validated-gucs
[ --search ]
[ --format ]
Опции:
--search (-s)
Поиск параметра, либо перечня параметров для вывода информации. Поиск не чувствителен к регистру и поддерживает регулярные выражения.
--format (-f)
Выбор формата вывода информации. Возможные значения pretty, tsv, json, yaml. По умолчанию tsv.
Примеры использования:
Вывод всех параметров:
$ pangolin-manager-ctl validated-gucs
List of validated Pangolin gucs:
Validated 542 parameters:
{'DateStyle': [[{'type': 'String', 'version_from': 90300}]],
'IntervalStyle': [[{'possible_values': ['postgres',
'postgres_verbose',
'sql_standard',
'iso_8601'],
'type': 'Enum',
'version_from': 90300}]],
'TimeZone': [[{'type': 'String', 'version_from': 90300}]],
'allow_in_place_tablespaces': [[{'type': 'Bool', 'version_from': 150000}]],
'allow_system_table_mods': [[{'type': 'Bool', 'version_from': 90300}]],
'allowed_servers': [[{'type': 'String', 'version_from': 110000}]],
'analyze_max_pages': [[{'max_val': 2147483647,
'min_val': 0,
'type': 'Integer',
'version_from': 150000}]],
'analyze_parallel_fetch': [[{'type': 'Bool', 'version_from': 150000}]],
'analyze_parallel_fetch_workers': [[{'max_val': 262143,
'min_val': 1,
'type': 'Integer',
'version_from': 150000}]],
'analyze_stat_array_size': [[{'max_val': 2147483647,
'min_val': -1,
'type': 'Integer',
'version_from': 150000}]],
'application_name': [[{'type': 'String', 'version_from': 90300}]],
'archive_command': [[{'type': 'String', 'version_from': 90300}]],
'archive_library': [[{'type': 'String', 'version_from': 150000}]],
...
'standby_mode': [[{'type': 'Bool',
'version_from': 90300,
'version_till': 120000}]],
'trigger_file': [[{'type': 'String',
'version_from': 90300,
'version_till': 120000}]]}
Totally validated 561
Вывод конкретного параметра:
$ pangolin-manager-ctl validated-gucs -s 'max_connections'
List of validated Pangolin gucs:
Validated 1 parameters:
{'max_connections': [[{'max_val': 8388607,
'min_val': 1,
'type': 'Integer',
'version_from': 90300,
'version_till': 90600},
{'max_val': 262143,
'min_val': 1,
'type': 'Integer',
'version_from': 90600}]]}
Вывод параметра в YAML-формате:
$ pangolin-manager-ctl validated-gucs -s 'max_connections' -f yaml
parameters:
max_connections:
- - max_val: 8388607
min_val: 1
type: Integer
version_from: 90300
version_till: 90600
- max_val: 262143
min_val: 1
type: Integer
version_from: 90600
get-pangolin-gucs
В версии 6.5.0 реализована консольна утилита get-pangolin-gucs для получение списка GUC-параметров.
Синтаксис:
validated-gucs
[ --search ]
Опции:
--search (-s)
Поиск параметра, либо перечня параметров для вывода информации. Поиск не чувствителен к регистру и поддерживает регулярные выражения.
Пример использования:
Вывод всех параметров:
$ /opt/pangolin-manager/bin/get-pangolin-gucs
allow_in_place_tablespaces
allow_system_table_mods
allowed_servers
analyze_max_pages
analyze_parallel_fetch
analyze_stat_array_size
...
Поиск по параметрам с приставкой pg_ в названии:
$ /opt/pangolin-manager/bin/get-pangolin-gucs -s pg_*
pg_hint_plan.debug_print
pg_hint_plan.message_level
pg_outline.enable
pg_plugins_path
pg_profile.max_sample_age
pg_stat_statements.max
...
pangolin-manager-ctl encrypt-pass
Команда преобразует пароль в засекреченный для конфигурации Pangolin Manager. Алгоритм выполнения совпадает с работой утилиты pg_auth_password.
Синтаксис:
encrypt-pass
Опции:
Отсутствуют.
Пример использования:
$ pangolin-manager-ctl encrypt-pass
Выполняется ввод пароля:
Enter password to encrypt:
Получение хеша пароля:
$enc$<hash>