patronictl
Эта страница переведена при помощи нейросети GigaChat.
Patroni имеет интерфейс командной строки под названием patronictl
, который в основном используется для взаимодействия с REST API Patroni и с DCS. Он предназначен для упрощения выполнения операций в кластере и может легко использоваться людьми или скриптами.
Конфигурация
patronictl
использует три раздела конфигурации:
ctl
: – способ аутентификации в REST API Patroni и проверка подлинности сервера. Более подробную информацию см. в разделе настройки ctl;restapi
: – способ аутентификации в REST API Patroni и проверка подлинности сервера. Используется только в том случае, если конфигурацияctl
недостаточна.patronictl
в первую очередь интересуется разделомrestapi.authentication
(в случае отсутствияctl.authentication
) и настройкойrestapi.cafile
(в случае отсутствияctl.cacert
). См. Настройки REST API для получения дополнительной информации;- DCS (например,
etcd
): – как связаться с DCS, используемой Patroni, и аутентифицироваться в ней.
Эти параметры конфигурации могут быть получены либо из переменных окружения, либо из файла конфигурации. Найдите вышеуказанные разделы в Параметры настройки среды или Настройки конфигурации YAML для понимания того, как можно установить эти параметры через переменные окружения или с помощью файла конфигурации.
Если выбираете использование переменных окружения, это будет прямолинейный подход. patronictl
прочитает переменные окружения и будет использовать их значения.
Если решаете использовать файл конфигурации, есть разные способы сообщить patronictl
о файле, который следует использовать. По умолчанию patronictl
попытается загрузить файл конфигурации с именем patronictl.yaml
, который должен находиться по одному из этих путей в зависимости от системы:
- Mac OS X:
~/Library/Application Support/patroni
; - Mac OS X (POSIX):
~/.patroni
; - Unix:
~/.config/patroni
; - Unix (POSIX):
~/.patroni
; - Windows (roaming):
C:\Users\<user>\AppData\Roaming\patroni
; - Windows (не roaming):
C:\Users\<user>\AppData\Local\patroni
.
Можно переопределить это поведение либо путем:
- Установкой переменной среды
PATRONICTL_CONFIG_FILE
с путем к пользовательскому файлу конфигурации; - Использования аргумента командной строки
-c
/--config-file
дляpatronictl
с путем к пользовательскому файлу конфигурации.
Примечание:
Если запустить
patronictl
на том же хосте, где и работает сервисpatroni
, то можно просто использовать один и тот же файл конфигурации, если он содержит все разделы конфигурации, требуемыеpatronictl
.
Использование
patronictl
предоставляет несколько удобных операций. Этот раздел предназначен для описания каждой из них.
Прежде чем переходить к каждой из подкоманд patronictl
, имейте в виду, что у самого patronictl
есть следующие аргументы командной строки:
-
-c
/--config-file
– используется для предоставления пути к файлу конфигурации дляpatronictl
. -
-d
/--dcs-url
/--dcs
– предоставляет строку подключения к DCS, используемой Patroni.Этот аргумент можно использовать либо для замены настроек DCS и
namespace
из конфигурацииpatronictl
, либо для определения его, если он отсутствует в конфигурации.Значение должно быть в формате
DCS://HOST:PORT/NAMESPACE
, например,etcd3://localhost:2379/service
для подключения к etcd v3, работающему наlocalhost
с кластером Patroni, хранящимся под пространством именservice
. Любая часть, отсутствующая в значении аргумента, будет заменена значением, присутствующим в конфигурации или его значением по умолчанию. -
-k
/--insecure
– флаг для обхода проверки SSL-сертификата сервера REST API.
Краткое описание для запуска команды из patronictl
:
patronictl [ { -c | --config-file } CONFIG_FILE ]
[ { -d | --dcs-url | --dcs } DCS_URL ]
[ { -k | --insecure } ]
SUBCOMMAND
Синтаксис для этого краткого описания:
- Параметры между квадратными скобками являются необязательными;
- Опции между фигурными скобками представляют операцию «выбрать одну из множества»;
- Опции с
[, ... ]
могут быть указаны несколько раз; - То, что написано заглавными буквами, представляет собой литерал, которому следует присвоить значение.
Этот же синтаксис будет использоваться при описании подкоманд patronictl
в следующих подразделах. Также, когда описываются подкоманды в следующих подразделах, необходимо рассматривать сводку команд как замену для SUBCOMMAND
в приведенной выше сводке.
В следующих подразделах будет представлено описание каждой команды, реализуемой patronictl
. Для примера будут использоваться конфигурационные файлы, присутствующие в GitHub-репозитории Patroni (файлы postgres0.yml
, postgres1.yml
и postgres2.yml
).
patronictl dsn
Краткий обзор
dsn
[ CLUSTER_NAME ]
[ { { -r | --role } { leader | primary | standby-leader | replica | standby | any } | { -m | --member } MEMBER_NAME } ]
[ --group CITUS_GROUP ]
Описание
patronictl dsn
получает строку подключения для одного члена кластера Patroni.
Если несколько участников соответствуют параметрам этой команды, будет выбран один из них, с приоритетом основного узла.
Параметры
CLUSTER_NAME
Имя кластера Patroni. Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
-r
/ --role
– выбор участника, который имеет заданную роль. Роль может быть одной из следующих:
leader
– лидер обычного кластера Patroni или резервного кластера Patroni;primary
– лидер обычного кластера Patroni;standby-leader
– лидер резервного кластера Patroni;replica
– реплика кластера Patroni;standby
– то же самое, что иreplica
;any
– любая роль. То же самое, что и пропуск этого параметра.
-m
/ --member
– выбор члена кластера с указанным именем:
MEMBER_NAME
- имя участника.
--group
– выбор участника, который является частью указанной группы Citus:
CITUS_GROUP
- идентификатор группы Citus.
Примеры
Получение DSN основного узла:
$ patronictl -c postgres0.yml dsn batman -r primary
host=127.0.0.1 port=5432
Получение DSN узла с именем postgresql1
:
$ patronictl -c postgres0.yml dsn batman --member postgresql1
host=127.0.0.1 port=5433
patronictl edit-config
Краткий обзор
edit-config
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { -q | --quiet } ]
[ { -s | --set } CONFIG="VALUE" [, ... ] ]
[ { -p | --pg } PG_CONFIG="PG_VALUE" [, ... ] ]
[ { --apply | --replace } CONFIG_FILE ]
[ --force ]
Описание
patronictl edit-config
изменяет динамическую конфигурацию кластера и обновляет этим DCS.
Примечание:
При вызове через TTY команда пытается показать разницу динамической конфигурации через pager. По умолчанию она пытается использовать либо
less
, либоmore
. Если нужен другой pager, установите переменную окруженияPAGER
в нужное значение.
Параметры
CLUSTER_NAME
Имя кластера Patroni. Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Изменение динамической конфигурации данной группы Citus.
Если не задано, patronictl
попытается извлечь это из конфигурации citus.group
, если она существует.
CITUS_GROUP
- идентификатор группы Citus.
-q
/ --quiet
Флаг для пропуска отображения разницы конфигурации.
-s
/ --set
Установка заданной динамической конфигурации с указанным значением.
CONFIG
- имя пути динамической конфигурации в дереве YAML, уровни которого соединены через .
.
VALUE
- значение для CONFIG
. Если оно равно null
, то CONFIG
будет удалено из динамической конфигурации.
-p
/ --pg
Установка заданного параметра динамической конфигурации PostgreSQL со значением по умолчанию.
По сути, это сокращенная запись для --s
/ --set
с добавлением префикса postgresql.parameters.
.
PG_CONFIG
- имя параметра конфигурации PostgreSQL, который необходимо установить.
PG_VALUE
- значение для PG_CONFIG
. Если оно равно null
, то PG_CONFIG
будет удалено из динамической конфигурации.
--apply
Применение динамической конфигурации из указанного файла.
Это похоже на указание нескольких параметров -s
/ --set
, по одному для каждой конфигурации из CONFIG_FILE
.
CONFIG_FILE
- путь к файлу, содержащему динамическую конфигурацию, которую необходимо применить, в формате YAML. Используйте -
, если необходимо читать с stdin
.
--replace
Замена динамической конфигурации в DCS на динамическую конфигурацию, указанную в данном файле.
CONFIG_FILE
- путь к файлу, содержащему новую динамическую конфигурацию, которая должна вступить в силу, в формате YAML. Используйте -
, если необходимо прочитать с stdin
.
--force
Флаг для пропуска запросов подтверждения при изменении динамической конфигурации. Полезно для скриптов.
Примеры
Изменение max_connections
PostgreSQL GUC:
patronictl -c postgres0.yml edit-config batman --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
:
patronictl -c postgres0.yml edit-config batman --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
из динамической конфигурации:
patronictl -c postgres0.yml edit-config batman --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
patronictl failover
Краткий обзор
failover
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { --leader | --primary } LEADER_NAME ]
--candidate CANDIDATE_NAME
[ --force ]
Описание
patronictl failover
выполняет ручное переключение при отказе в кластере.
Он предназначен для использования, когда кластер неисправен, например:
- нет лидера;
- нет синхронного резервирования в синхронном кластере.
Он также позволяет переключиться на асинхронный узел, если включен синхронный режим.
Примечание:
Ничего не мешает запустить
patronictl failover
в исправном кластере. Однако в таких случаях рекомендуется использоватьpatronictl switchover
.
Предупреждение:
Инициирование отказа может привести к повреждению данных в зависимости от того, насколько актуальна продвигаемая реплика по сравнению с первичной.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Выполнение отказа в данной группе Citus.
CITUS_GROUP
является идентификатором группы Citus.
--leader
/ --primary
Указывает, кто должен быть ожидаемым лидером во время отказа.
Если указано, выполняется переключение вместо отказа.
LEADER_NAME
должно соответствовать имени текущего лидера в кластере.
Предупреждение:
Этот аргумент устарел и будет удален в будущей версии.
--candidate
Узел, который будет повышен при отказе.
CANDIDATE_NAME
- имя узла, которое будет повышено.
--force
Флаг для пропуска запросов подтверждения при выполнении отказа. Полезно для скриптов.
Примеры
Переключение на узел postgresql2
:
$ patronictl -c postgres0.yml failover batman --candidate postgresql2 --force
Current cluster topology
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 3 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 3 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 3 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
2023-09-12 11:52:27.50978 Successfully failed over to "postgresql2"
+ Cluster: batman (7277694203142172922) -+---------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+---------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Replica | stopped | | unknown |
| postgresql1 | 127.0.0.1:5433 | Replica | running | 3 | 0 |
| postgresql2 | 127.0.0.1:5434 | Leader | running | 3 | |
+-------------+----------------+---------+---------+----+-----------+
patronictl flush
Краткий обзор
flush
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
{ restart | switchover }
[ --group CITUS_GROUP ]
[ { -r | --role } { leader | primary | standby-leader | replica | standby | any } ]
[ --force ]
Описание
patronictl flush
удаляет запланированные события, если таковые имеются.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
MEMBER_NAME
Отмена запланированного события для указанного члена (членов) Patroni.
Можно указать несколько членов. Если члены не указаны, учитываются все из них.
Примечание:
Используется только при отмене запланированных событий перезапуска.
restart
Отмена запланированных событий перезапуска.
switchover
Отмена запланированного события переключения.
--group
Отмена запланированных событий из указанной группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
-r
/ --role
Отмена запланированных событий для участников, которые имеют заданную роль.
Роль может быть одной из следующих:
leader
– лидер обычного кластера Patroni или резервного кластера Patroni;primary
– лидер обычного кластера Patroni;standby-leader
– лидер резервного кластера Patroni;replica
– реплика кластера Patroni;standby
–то же самое, что иreplica
;any
– любая роль. То же самое, что и отсутствие этого параметра.
Примечание:
Используется только при отказе от запланированных событий перезапуска.
--force
Флаг для пропуска запросов подтверждения при выполнении очистки. Полезно для скриптов.
Примеры
Отказ от запланированного события переключения:
$ patronictl -c postgres0.yml flush batman switchover --force
Success: scheduled switchover deleted
Отмена запланированного перезапуска всех резервных узлов:
$ patronictl -c postgres0.yml flush batman restart -r replica --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+---------------------------+
| Member | Host | Role | State | TL | Lag in MB | Scheduled restart |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | | 2023-09-12T17:17:00+00:00 |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 | 2023-09-12T17:17:00+00:00 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 | 2023-09-12T17:17:00+00:00 |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
Success: flush scheduled restart for member postgresql1
Success: flush scheduled restart for member postgresql2
Отмена запланированного перезапуска узлов postgresql0
и postgresql1
:
$ patronictl -c postgres0.yml flush batman postgresql0 postgresql1 restart --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+---------------------------+
| Member | Host | Role | State | TL | Lag in MB | Scheduled restart |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | | 2023-09-12T17:17:00+00:00 |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 | 2023-09-12T17:17:00+00:00 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 | 2023-09-12T17:17:00+00:00 |
+-------------+----------------+---------+-----------+----+-----------+---------------------------+
Success: flush scheduled restart for member postgresql0
Success: flush scheduled restart for member postgresql1
patronictl history
Краткий обзор
history
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
Описание
patronictl history
отображает историю событий отказа и переключения кластера, если таковые имеются.
Вывод включает информацию:
TL
– линия времени PostgreSQL, на которой произошло событие;LSN
– LSN PostgreSQL, при котором произошло событие;Reason
– причина, извлеченная из файла.history
PostgreSQL;Timestamp
– время, когда произошло событие;New Leader
– член Patroni, который был повышен во время события.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Показать историю событий из данной группы Citus.
CITUS_GROUP
– идентификатор группы Citus.
Если не задано, patronictl
попытается получить его из конфигурации citus.group
, если она существует.
-f
/ --format
Формат списка событий в выводе. Может быть одним из следующих:
pretty
– выводит историю в виде красивой таблицы;tsv
– выводит историю в табличной форме с колонками, разделенными символом\t
;json
– выводит историю в формате JSON;yaml
– выводит историю в формате YAML.
По умолчанию используется pretty
.
--force
Флаг для пропуска запросов подтверждения при выполнении очистки. Полезно для скриптов.
Примеры
Вывод истории событий:
$ patronictl -c postgres0.yml history batman
+----+----------+------------------------------+----------------------------------+-------------+
| TL | LSN | Reason | Timestamp | New Leader |
+----+----------+------------------------------+----------------------------------+-------------+
| 1 | 24392648 | no recovery target specified | 2023-09-11T22:11:27.125527+00:00 | postgresql0 |
| 2 | 50331864 | no recovery target specified | 2023-09-12T11:34:03.148097+00:00 | postgresql0 |
| 3 | 83886704 | no recovery target specified | 2023-09-12T11:52:26.948134+00:00 | postgresql2 |
| 4 | 83887280 | no recovery target specified | 2023-09-12T11:53:09.620136+00:00 | postgresql0 |
+----+----------+------------------------------+----------------------------------+-------------+
Вывод истории событий в формате YAML:
$ patronictl -c postgres0.yml history batman -f yaml
- LSN: 24392648
New Leader: postgresql0
Reason: no recovery target specified
TL: 1
Timestamp: '2023-09-11T22:11:27.125527+00:00'
- LSN: 50331864
New Leader: postgresql0
Reason: no recovery target specified
TL: 2
Timestamp: '2023-09-12T11:34:03.148097+00:00'
- LSN: 83886704
New Leader: postgresql2
Reason: no recovery target specified
TL: 3
Timestamp: '2023-09-12T11:52:26.948134+00:00'
- LSN: 83887280
New Leader: postgresql0
Reason: no recovery target specified
TL: 4
Timestamp: '2023-09-12T11:53:09.620136+00:00'
patronictl list
Краткий обзор
list
[ CLUSTER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -e | --extended } ]
[ { -t | --timestamp } ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
[ { -W | { -w | --watch } TIME } ]
Описание
patronictl list
отображает информацию о кластере Patroni и его участниках.
Вывод включает информацию:
-
Cluster
– имя кластера Patroni; -
Member
– имя участника Patroni; -
Host
– хост, на котором находится участник; -
Role
– текущая роль участника. Может быть одним из следующих вариантов:Leader
– текущий лидер обычного кластера Patroni;Standby Leader
– текущий лидер резервного кластера Patroni;Sync Standby
– синхронный резервный экземпляр кластера Patroni с включенным синхронным режимом;Replica
– обычный резервный экземпляр кластера Patroni;
-
State
– текущее состояние PostgreSQL в Patroni. Некоторые примеры среди возможных состояний:running
– если PostgreSQL в настоящее время запущен и работает;streaming
– если это реплика и PostgreSQL в данный момент транслирует журналы WAL с основного узла;in archive recovery
– если это реплика и PostgreSQL в данный момент извлекает журналы WAL из архива;stopped
– если PostgreSQL был выключен;crashed
– если PostgreSQL вышел из строя;
-
TL
– текущая временная шкала PostgreSQL в члене Patroni; -
Lag in MB
– количество мегабайт отставания репликации между членом Patroni и его вышестоящим элементом.
Кроме того, следующая информация может быть включена в вывод:
-
System identifier
– идентификатор системы PostgreSQL;Примечание:
Отображается в заголовке таблицы.
Отображается только в том случае, если формат вывода
pretty
. -
Group
– идентификатор группы Citus.Примечание:
Отображается в заголовке таблицы.
Отображается только при кластере Citus.
-
Pending restart
–*
указывает на то, что узел нуждается в перезапуске для того, чтобы некоторые конфигурации PostgreSQL вступили в силу. Пустое значение указывает на то, что узел не требует перезагрузки.Примечание:
Отображается как атрибут участника.
Отображается, если:
- печать в формате
pretty
илиtsv
и с включенным расширенным выводом; - или если узлу требуется перезагрузка.
- печать в формате
-
Scheduled restart
– метка времени, когда запланирован перезапуск экземпляра PostgreSQL, управляемого членом Patroni. Пустое значение указывает на отсутствие запланированного перезапуска для участника.Примечание:
Отображается как атрибут участника.
Отображается, если:
- печать в формате
pretty
илиtsv
и с включенным расширенным выводом; - или если узел имеет запланированную перезагрузку.
- печать в формате
-
Tags
– содержит теги, установленные для члена Patroni. Пустое значение указывает на то, что либо не были настроены никакие теги, либо они были настроены со значениями по умолчанию.Примечание:
Отображается как атрибут участника.
Отображается, если:
- печать в формате
pretty
илиtsv
и с включенным расширенным выводом; - если у узла есть какие-либо пользовательские теги или любые теги по умолчанию с нестандартными значениями.
- печать в формате
-
Scheduled switchover
– метка времени, на которую запланировано переключение для кластера Patroni, если таковое имеется.Примечание:
Отображается в нижней части таблицы.
Отображается только в том случае, если запланирован переход и формат вывода
pretty
. -
Maintenance mode
– если мониторинг кластера в данный момент приостановлен.Примечание:
Отображается в нижней части таблицы.
Отображается только в том случае, если кластер приостановлен, и формат вывода
pretty
.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Показать информацию о членах данной группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
-e
/ --extended
Отобразить расширенную информацию.
Принудительно отображать атрибуты Pending restart
, Scheduled restart
и Tags
, даже если их значение пусто.
Примечание:
Применяется только к выходным форматам
pretty
иtsv
.
-t
/ --timestamp
Печать метки времени перед печатью информации о кластере и его участниках.
-f
/ --format
Как отформатировать список событий в выводе.
Формат может быть одним из следующих:
pretty
– выводит историю в виде красивой таблицы;tsv
– выводит историю в табличной форме с колонками, разделенными символом\t
;json
– выводит историю в формате JSON;yaml
– выводит историю в формате YAML.
По умолчанию используется pretty
.
-W
Автоматически обновлять информацию каждые 2 секунды.
-w
/ --watch
Автоматически обновлять информацию через указанный интервал.
TIME
– интервал между обновлениями, в секундах.
Примеры
Вывод информации о кластере в красивом формате:
$ patronictl -c postgres0.yml list batman
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Вывод информации о кластере в красивом формате с расширенными столбцами:
$ patronictl -c postgres0.yml list batman -e
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+-----------------+-------------------+------+
| Member | Host | Role | State | TL | Lag in MB | Pending restart | Scheduled restart | Tags |
+-------------+----------------+---------+-----------+----+-----------+-----------------+-------------------+------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | | | | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 | | | |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 | | | |
+-------------+----------------+---------+-----------+----+-----------+-----------------+-------------------+------+
Вывод информации о кластере в формате YAML, со временем выполнения:
$ patronictl -c postgres0.yml list batman -f yaml -t
2023-09-12 13:30:48
- Cluster: batman
Host: 127.0.0.1:5432
Member: postgresql0
Role: Leader
State: running
TL: 5
- Cluster: batman
Host: 127.0.0.1:5433
Lag in MB: 0
Member: postgresql1
Role: Replica
State: streaming
TL: 5
- Cluster: batman
Host: 127.0.0.1:5434
Lag in MB: 0
Member: postgresql2
Role: Replica
State: streaming
TL: 5
patronictl pause
Краткий обзор
pause
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ --wait ]
Описание
Временно переводит кластер Patroni в режим обслуживания и отключает автоматический отказоустойчивый переход.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Приостановить данную группу Citus.
CITUS_GROUP
- идентификатор группы Citus.
Если не задано, patronictl
попытается получить его из конфигурации citus.group
, если она существует.
--wait
Ожидание, пока все участники Patroni будут приостановлены, прежде чем вернуть управление вызывающему абоненту.
Примеры
Перевод кластер в режим обслуживания и ожидание паузы всех узлов:
$ patronictl -c postgres0.yml pause batman --wait
'pause' request sent, waiting until it is recognized by all nodes
Success: cluster management is paused
patronictl query
Краткий обзор
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 } ]
Описание
patronictl query
выполняет команду SQL или сценарий для участника кластера Patroni.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Запрос указанной группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
-r
/ --role
Выбор участника с заданной ролью. Роль может быть одной из следующих:
leader
– лидер обычного кластера Patroni или резервного кластера Patroni;primary
– лидер обычного кластера Patroni;standby-leader
– лидер резервного кластера Patroni;replica
– копия кластера Patroni;standby
– то же самое, что иreplica
;any
– любая роль. То же самое, что и пропуск этого параметра.
-m
/ --member
Выбор участника с указанным именем.
MEMBER_NAME
- имя участника, который должен быть выбран.
-d
/ --dbname
База данных для подключения и выполнения запроса.
DBNAME
- имя базы данных. Если не указано, по умолчанию используется USERNAME
.
-U
/ --username
Пользователь для подключения к базе данных.
USERNAME
имя пользователя. Если не указано, по умолчанию используется пользователь операционной системы, выполняющий patronictl query
.
--password
Запрос пароля для подключающегося пользователя.
Поскольку Patroni использует libpq
, альтернативой является создание файла ~/.pgpass
или установка переменной среды PGPASSWORD
.
--format
Формат вывода запроса. Формат может быть одним из следующих:
pretty
– вывод результата запроса в виде красивой таблицы;tsv
– вывод результата запроса в табличной форме с колонками, разделенными\t
;json
– вывод результата запроса в формате JSON;yaml
– вывод результата запроса в формате YAML.
По умолчанию используется tsv
.
-f
/ --file
Использовать файл в качестве источника команд для выполнения запросов.
FILE_NAME
– путь к исходному файлу.
-c
/ --command
Выполнить указанную команду SQL в запросе.
SQL_COMMAND
– команда SQL, которую необходимо выполнить.
--delimiter
Разделитель при печати информации в формате tsv
, или \t
, если опущен.
-W
Автоматически повторять выполнение запроса каждые 2 секунды.
-w
/ --watch
Автоматически повторять выполнение запроса с заданным интервалом.
TIME
– интервал между повторными запусками, в секундах.
Примеры
Выполнение команды SQL от имени пользователя postgres
, и запрос его пароля:
$ patronictl -c postgres0.yml query batman -U postgres --password -c "SELECT now()"
Password:
now
2023-09-12 18:10:53.228084+00:00
Выполнение команды SQL от имени пользователя postgres
и получиние пароля из переменной окружения libpq
:
$ PGPASSWORD=zalando patronictl -c postgres0.yml query batman -U postgres -c "SELECT now()"
now
2023-09-12 18:11:37.639500+00:00
Выполнение команды SQL и вывод результата каждые 2 секунды в формате pretty
:
$ patronictl -c postgres0.yml query batman -c "SELECT now()" --format pretty -W
+----------------------------------+
| now |
+----------------------------------+
| 2023-09-12 18:12:16.716235+00:00 |
+----------------------------------+
+----------------------------------+
| now |
+----------------------------------+
| 2023-09-12 18:12:18.732645+00:00 |
+----------------------------------+
+----------------------------------+
| now |
+----------------------------------+
| 2023-09-12 18:12:20.750573+00:00 |
+----------------------------------+
Запуск команды SQL в базе данных test
и вывод результаты в формате YAML:
$ patronictl -c postgres0.yml query batman -d test -c "SELECT now() AS column_1, 'test' AS column_2" --format yaml
- column_1: 2023-09-12 18:14:22.052060+00:00
column_2: test
Запуск команды SQL на участнике postgresql2
:
$ patronictl -c postgres0.yml query batman -m postgresql2 -c "SHOW port"
port
5434
Запуск команды SQL на любой из резервных копий:
$ patronictl -c postgres0.yml query batman -r replica -c "SHOW port"
port
5433
patronictl reinit
Краткий обзор
reinit
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ --wait ]
[ --force ]
Описание
patronictl reinit
восстанавливает экземпляр резервной копии PostgreSQL, управляемый репликой – членом кластера Patroni.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
MEMBER_NAME
Имя реплики, для которого будет восстановлен экземпляр PostgreSQL.
Можно указать несколько членов реплики. Если не указано ни одного члена, команда ничего не делает.
--group
Повторное создание члена реплики данной группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
--wait
Ожидание завершения повторной инициализации узла (узлов) резервного копирования PostgreSQL.
--force
Флаг для пропуска запросов подтверждения при восстановлении экземпляров резервного копирования PostgreSQL. Полезно для сценариев.
Примеры
Запрос перестройки всех реплик кластера Patroni и немедленного возвращения управления вызывающей стороне:
$ patronictl -c postgres0.yml reinit batman postgresql1 postgresql2 --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Success: reinitialize for member postgresql1
Success: reinitialize for member postgresql2
Запрос перестройки postgresql2
и ожидание ее завершения:
$ patronictl -c postgres0.yml reinit batman postgresql2 --wait --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Success: reinitialize for member postgresql2
Waiting for reinitialize to complete on: postgresql2
Reinitialize is completed on: postgresql2
patronictl reload
Краткий обзор
reload
CLUSTER_NAME
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -r | --role } { leader | primary | standby-leader | replica | standby | any } ]
[ --force ]
Описание
patronictl reload
запрашивает перезагрузку локальной конфигурации для одного или нескольких участников Patroni.
Он также вызывает pg_ctl reload
в управляемом экземпляре PostgreSQL, даже если ничего не изменилось.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
MEMBER_NAME
Запрос перезагрузки локальной конфигурации для указанного члена (членов) Patroni.
Можно указать несколько членов. Если не указаны, учитываются все из них.
--group
Запрос перезагрузки участников данной группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
-r
/ --role
Выбор участников с заданной ролью. Роль может быть одной из следующих:
leader
– лидер обычной кластерной системы Patroni или резервной кластерной системы Patroni;primary
– лидер обычной кластерной системы Patroni;standby-leader
– лидер кластера Patroni в режиме ожидания;replica
– реплика кластера Patroni;standby
– то же самое, что иreplica
;any
– любая роль. То же самое, что и пропуск этого параметра.
--force
Флаг для пропуска запросов подтверждения при запросе перезагрузки локальной конфигурации. Полезно для скриптов.
Примеры
Запрос перезагрузки локальной конфигурации всех членов кластера Patroni:
$ patronictl -c postgres0.yml reload batman --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Reload request received for member postgresql0 and will be processed within 10 seconds
Reload request received for member postgresql1 and will be processed within 10 seconds
Reload request received for member postgresql2 and will be processed within 10 seconds
patronictl remove
Краткий обзор
remove
CLUSTER_NAME
[ --group CITUS_GROUP ]
[ { -f | --format } { pretty | tsv | json | yaml } ]
Описание
patronictl remove
удаляет информацию о кластере из DCS.
Это интерактивное действие.
Внимание!
Эта операция уничтожит информацию о кластере Patroni из DCS.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
--group
Удаление информации о кластере Patroni, связанной с данной группой Citus.
CITUS_GROUP
- идентификатор группы Citus.
-f
/ --format
Как отформатировать список участников в выводе при запросе подтверждения. Формат может быть одним из следующих:
pretty
– выводит участников в виде красивой таблицы;tsv
– выводит участников в табличной форме, где столбцы разделены символом\t
;json
– выводит участников в формате JSON;yaml
– выводит участников в формате YAML.
По умолчанию используется формат pretty
.
Примеры
Удаление информации о кластере Patroni batman
из DCS:
$ patronictl -c postgres0.yml remove batman
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 5 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 5 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 5 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Please confirm the cluster name to remove: batman
You are about to remove all information in DCS for batman, please type: "Yes I am aware": Yes I am aware
This cluster currently is healthy. Please specify the leader name to continue: postgresql0
patronictl restart
Краткий обзор
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 ]
Описание
patronictl restart
запрашивает перезагрузку экземпляра PostgreSQL, управляемого членом кластера Patroni.
Перезагрузка может быть выполнена немедленно или запланирована на потом.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
--group
Перезапуск кластера Patroni, связанного с данной группой Citus.
CITUS_GROUP
- идентификатор группы Citus.
-r
/ --role
Выбор участников, которые имеют заданную роль. Роль может быть одной из следующих:
leader
– лидер обычного кластера Patroni или резервного кластера Patroni;primary
– лидер обычного кластера Patroni;standby-leader
– лидер кластера Patroni в режиме ожидания;replica
– реплика кластера Patroni;standby
– то же самое, что иreplica
;any
– любая роль. То же самое, что и пропуск этого параметра.
--any
Перезапуск одного случайного узла среди тех, которые соответствуют заданным фильтрам.
--pg-version
Выбираются только те участники, версия управляемого экземпляра Postgres которых старше указанной версии.
PG_VERSION
- версия PostgreSQL, которая будет сравниваться.
--pending
Выбираются только участники, помеченные как Pending restart
.
timeout
Прерывание перезапуска, если он занимает больше указанного тайм-аута, и переключение на реплику, если проблема связана с первичной системой.
TIMEOUT
- количество секунд ожидания перед прерыванием перезагрузки.
--scheduled
Запланированный перезапуск на заданной временной метке.
TIMESTAMP
- временная метка, когда должен произойти перезапуск. Укажите его в однозначном формате, предпочтительно с указанием часового пояса. Также можно использовать литерал now
, чтобы перезапуск был выполнен немедленно.
--force
Флаг для пропуска запросов подтверждения при запросе операций перезапуска. Полезно для скриптов.
Примеры
Немедленный перезапуск всех участников кластера:
$ patronictl -c postgres0.yml restart batman --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 6 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 6 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 6 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Success: restart on member postgresql0
Success: restart on member postgresql1
Success: restart on member postgresql2
Немедленный перезапуск случайного члена кластера:
$ patronictl -c postgres0.yml restart batman --any --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 6 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 6 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 6 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Success: restart on member postgresql1
Запланированная перезагрузку на 2023-09-13T18:00-03:00
:
$ patronictl -c postgres0.yml restart batman --scheduled 2023-09-13T18:00-03:00 --force
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 6 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 6 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 6 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Success: restart scheduled on member postgresql0
Success: restart scheduled on member postgresql1
Success: restart scheduled on member postgresql2
patronictl resume
Краткий обзор
resume
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ --wait ]
Описание
patronictl resume
выводит кластер Patroni из режима обслуживания и снова включает автоматическое переключение при повреждении.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Возобновление работы группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
Если не указано, patronictl
попытается получить его из конфигурации citus.group
, если она существует.
--wait
Подождать, пока все члены Patroni не снимут паузу, прежде чем возвращать управление вызывающей стороне.
Примеры
Вывод кластера из режима обслуживания:
$ patronictl -c postgres0.yml resume batman --wait
'resume' request sent, waiting until it is recognized by all nodes
Success: cluster management is resumed
patronictl show-config
Краткий обзор
show-config
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
Описание
patronictl show-config
показывает динамическую конфигурацию кластера, которая хранится в DCS.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Показать динамическую конфигурацию группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
Если не указано, patronictl
попытается получить его из конфигурации citus.group
, если она существует.
Примеры
Показать динамическую конфигурацию кластера batman
:
$ patronictl -c postgres0.yml show-config batman
loop_wait: 10
postgresql:
parameters:
max_connections: 250
pg_hba:
- host replication replicator 127.0.0.1/32 md5
- host all all 0.0.0.0/0 md5
use_pg_rewind: true
retry_timeout: 10
ttl: 30
patronictl switchover
Краткий обзор
switchover
[ CLUSTER_NAME ]
[ --group CITUS_GROUP ]
[ { --leader | --primary } LEADER_NAME ]
--candidate CANDIDATE_NAME
[ --force ]
Описание
patronictl switchover
выполняет переключение в кластере.
Он предназначен для использования при нормальной работе кластера, например:
- есть лидер;
- доступны синхронные резервные копии в синхронном кластере.
Примечание:
Если кластер неисправен, то возможно следует использовать
patronictl failover
.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Выполнить переключение в указанной группе Citus.
CITUS_GROUP
- идентификатор группы Citus.
--leader
/ --primary
Указать, кто является лидером, которого следует понизить при переключении.
LEADER_NAME
должен соответствовать имени текущего лидера в кластере.
--candidate
Узел, который будет повышен при переключении и возьмет на себя первичную роль.
CANDIDATE_NAME
- имя узла, который будет повышен.
--scheduled
Запланировать переключение на заданную метку времени.
TIMESTAMP
- отметка времени, когда должно произойти переключение. Укажите его в однозначном формате, предпочтительно с указанием часового пояса. Также можно использовать литерал now
, чтобы переключение было выполнено немедленно.
--force
Флаг для пропуска запросов подтверждения при выполнении переключения. Полезно для сценариев.
Примеры
Переключение на узел postgresql2
:
$ patronictl -c postgres0.yml switchover batman --leader postgresql0 --candidate postgresql2 --force
Current cluster topology
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 6 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 6 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 6 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
2023-09-13 14:15:23.07497 Successfully switched over to "postgresql2"
+ Cluster: batman (7277694203142172922) -+---------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+---------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Replica | stopped | | unknown |
| postgresql1 | 127.0.0.1:5433 | Replica | running | 6 | 0 |
| postgresql2 | 127.0.0.1:5434 | Leader | running | 6 | |
+-------------+----------------+---------+---------+----+-----------+
Запланированное переключение между postgresql0
и postgresql2
, которое произойдет в 2023-09-13T18:00:00-03:00
:
$ patronictl -c postgres0.yml switchover batman --leader postgresql0 --candidate postgresql2 --scheduled 2023-09-13T18:00-03:00 --force
Current cluster topology
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 8 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 8 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 8 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
2023-09-13 14:18:11.20661 Switchover scheduled
+ Cluster: batman (7277694203142172922) -+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+-------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 8 | |
| postgresql1 | 127.0.0.1:5433 | Replica | streaming | 8 | 0 |
| postgresql2 | 127.0.0.1:5434 | Replica | streaming | 8 | 0 |
+-------------+----------------+---------+-----------+----+-----------+
Switchover scheduled at: 2023-09-13T18:00:00-03:00
from: postgresql0
to: postgresql2
patronictl topology
Краткий обзор
topology
[ CLUSTER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
[ { -W | { -w | --watch } TIME } ]
Описание
patronictl topology
отображает информацию о кластере Patroni и его участниках в виде дерева.
Вывод включает следующую информацию:
Cluster
Имя кластера Patroni.
Примечание:
Отображается в заголовке таблицы.
System identifier
Идентификатор системы Postgres.
Примечание:
Отображается в заголовке таблицы.
Member
Имя члена кластера Patroni.
Примечание:
Информация в этом столбце отображается в виде древовидного представления членов с точки зрения соединений репликации.
Host
Хост, на котором расположен член кластера.
Role
Текущая роль участника. Может быть одним из следующих вариантов:
Leader
– текущий лидер обычного кластера Patroni;Standby Leader
– текущий лидер резервного кластера Patroni;Sync Standby
– синхронный резервный сервер кластера Patroni с включенным синхронным режимом;Replica
– обычный резервный сервер кластера Patroni.
State
Текущее состояние PostgreSQL в узле Patroni. Некоторые примеры возможных состояний:
running
– если PostgreSQL в данный момент запущен и работает;streaming
– если реплика и PostgreSQL в данный момент передают журналы WAL с основного узла;in archive recovery
– если реплика и PostgreSQL в данный момент извлекают журналы WAL из архива;stopped
– если PostgreSQL был выключен;crashed
– если PostgreSQL аварийно завершил работу.
TL
Текущая временная шкала PostgreSQL в члене Patroni.
Lag in MB
Количество мегабайт отставания по репликации между членом Patroni и его вышестоящим узлом.
Кроме того, в вывод могут быть включены следующие сведения:
Group
Идентификатор группы Citus.
Примечание:
Отображается в заголовке таблицы.
Отображается только в том случае, если это кластер Citus.
Pending restart
*
указывает на то, что узел нуждается в перезапуске для того, чтобы некоторые конфигурации PostgreSQL вступили в силу. Пустое значение указывает на то, что узел не требует перезагрузки.
Примечание:
Отображается как атрибут члена кластера.
Отображается, если узел требует перезапуска.
Scheduled restart
Метка времени, когда был запланирован перезапуск экземпляра PostgreSQL, управляемого членом Patroni. Пустое значение указывает на отсутствие запланированного перезапуска для участника.
Примечание
Показано как атрибут члена кластера.
Показывается, если у узла запланирован перезапуск.
Tags
Содержит теги, установленные для участника Patroni. Пустое значение указывает на то, что либо теги не были настроены, либо они были настроены с использованием значений по умолчанию.
Примечание:
Отображается как атрибут члена кластера.
Отображается, если узел имеет какие-либо пользовательские теги или любые теги по умолчанию с нестандартными значениями.
Scheduled switchover
Метка времени, в которую запланирован переход на резервный сервер кластера Patroni, если таковой имеется.
Примечание:
Отображается в нижней части таблицы.
Отображается только в том случае, если запланирован переход на резервный сервер.
Maintenance mode
Если мониторинг кластера в настоящее время приостановлен.
Примечание:
Отображается в нижней части таблицы.
Отображается только в том случае, если кластер приостановлен.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
Если не указано, patronictl
попытается получить его из конфигурации scope
, если она существует.
--group
Показать информацию о членах группы Citus.
CITUS_GROUP
- идентификатор группы Citus.
-W
Автоматически обновлять информацию каждые 2 секунды.
-w
/ --watch
Автоматически обновлять информацию с указанным интервалом.
TIME
- интервал между обновлениями в секундах.
Примеры
Показать топологию кластера batman
– postgresql1
и postgresql2
реплицируются из postgresql0
:
$ patronictl -c postgres0.yml topology batman
+ Cluster: batman (7277694203142172922) ---+-----------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
+---------------+----------------+---------+-----------+----+-----------+
| postgresql0 | 127.0.0.1:5432 | Leader | running | 8 | |
| + postgresql1 | 127.0.0.1:5433 | Replica | streaming | 8 | 0 |
| + postgresql2 | 127.0.0.1:5434 | Replica | streaming | 8 | 0 |
+---------------+----------------+---------+-----------+----+-----------+
patronictl version
Краткий обзор
version
[ CLUSTER_NAME [, ... ] ]
[ MEMBER_NAME [, ... ] ]
[ --group CITUS_GROUP ]
Описание
patronictl version
получает версию приложения patronictl
. Кроме того, он также может включать информацию о версии кластеров Patroni и их членах.
Параметры
CLUSTER_NAME
Имя кластера Patroni.
MEMBER_NAME
Имя члена кластера Patroni.
--group
Рассмотреть кластер Patroni с заданной группой Citus.
CITUS_GROUP
- идентификатор группы Citus.
Примеры
Получить версию только patronictl
:
$ patronictl -c postgres0.yml version
patronictl version 3.1.0
Получить версию patronictl
и всех членов кластера batman
:
$ patronictl -c postgres0.yml version batman
patronictl version 3.1.0
postgresql0: Patroni 3.1.0 PostgreSQL 15.2
postgresql1: Patroni 3.1.0 PostgreSQL 15.2
postgresql2: Patroni 3.1.0 PostgreSQL 15.2
Получить версию patronictl
и членов postgresql1
и postgresql2
кластера batman
:
$ patronictl -c postgres0.yml version batman postgresql1 postgresql2
patronictl version 3.1.0
postgresql1: Patroni 3.1.0 PostgreSQL 15.2
postgresql2: Patroni 3.1.0 PostgreSQL 15.2