gpstop

1. Описание

Утилита gpstop используется для остановки, перезапуска или перезагрузки конфигурационных файлов кластера MatrixDB. При остановке кластера MatrixDB фактически останавливаются несколько процессов сервера базы данных postgres — а именно Master и все экземпляры Segment. Утилита gpstop управляет процессом завершения работы на всех экземплярах, останавливая их параллельно.

По умолчанию система не позволяет выполнить остановку, если активны клиентские подключения. Используйте опцию -f, чтобы принудительно откатить все выполняющиеся транзакции и завершить все соединения. Если транзакции выполняются, по умолчанию система будет ожидать их фиксации перед остановкой.

Используйте опцию -u, чтобы перезагрузить конфигурационные настройки. Это приведёт к повторной загрузке файла pg_hba.conf и параметров времени выполнения из файла postgresql.conf на хосте Master.

2. Параметры

Параметр Описание
-a Не запрашивать подтверждение.
-B parallel_processes Количество Segment'ов, останавливаемых параллельно. Если не указано, утилита запускает до 64 параллельных процессов в зависимости от количества экземпляров Segment, которые необходимо остановить.
-d master_data_directory Каталог данных хоста Master. По умолчанию принимает значение, заданное в $MASTER_DATA_DIRECTORY.
--host host_name Остановить все узлы Segment на указанном хосте. Имя хоста должно соответствовать записям в каталоговой таблице gp_segment_configuration.
Этот параметр нельзя использовать с -m, -r, -u или -y.
Доступен только при наличии зеркальных (mirror) Segment'ов. Хост не должен содержать экземпляр Master или Standby и не должен размещать одновременно основной Segment и его зеркало.
-l logfile_directory Каталог для записи файлов журнала. По умолчанию — ~/gpAdminLogs.
-m Остановить экземпляр Master, работающий в режиме утилиты.
-M fast Быстрая остановка: прервать все активные транзакции и выполнить их откат.
-M immediate Немедленная остановка: резкое завершение всех транзакций. В этом режиме все процессы postgres уничтожаются без возможности завершения очистки транзакций со стороны базы данных.
-M smart Умная остановка: команда завершается с предупреждением, если существуют активные подключения. Это режим по умолчанию.
-q Работать в тихом режиме. Вывод подавляется на экране, но продолжает записываться в файлы журналов.
-r Перезапустить кластер после остановки.
-t timeout_seconds Задать таймаут (в секундах) ожидания остановки экземпляров Segment. Если Segment не останавливается в течение указанного времени, gpstop выводит сообщение о том, что один или несколько Segment всё ещё останавливаются. Кластер MatrixDB нельзя перезапустить, пока все Segment полностью не остановятся. Этот параметр полезен, когда крупные транзакции требуют длительного времени для отката, превышающего таймаут по умолчанию в 600 секунд.
-u Перезагрузить параметры конфигурации времени выполнения из pg_hba.conf и postgresql.conf на Master и Segment'ах без остановки кластера. Используйте этот параметр после изменения конфигурационных файлов для применения изменений.
Примечание: этот способ применяется только к параметрам времени выполнения.
-v Включить подробный режим. Отображать детальную информацию о состоянии, ходе выполнения и сообщения об ошибках.
-y Не останавливать экземпляр Standby. По умолчанию Standby останавливается.
-? или -h или --help Показать справочную информацию.
--version Показать информацию о версии.

3. Примеры

Остановить кластер MatrixDB (без запроса подтверждения):

gpstop -a

Перезапустить кластер MatrixDB (без запроса подтверждения):

gpstop -ar

Перезагрузить конфигурационные файлы:

gpstop -u