PostgreSQL — Установка Python

  • Установите Python версии 3.6 или выше.
  • Включите опцию install pip.
  • Запустите следующую команду для установки пакетов на обеих сторонах кластера: pip install flake8 psycopg2 urllib3 coloredlogs pywin32 servicemanager
  • config.ini, расположенный в каталоге <путь КАСКАД>/data/NGA/PostgreSQL/sql/Cluster Monitor Tool, предназначен для настройки инструмента мониторинга кластера в смысле использования инструмента main.py .
  • Замените содержимое файла config.ini соответствующим содержимым шаблона для вашей системы:
    • путем копирования содержимого соответствующего шаблона и замены содержимого файла config.ini.или
    • переименовав соответствующий файл для Windows: "config.windows.template.ini" или для Linux: "config.linux.template.ini" в config.ini.
  • Отредактируйте следующие параметры файла template.ini: p1 и p2 (host, port и dbname).

ПРИМЕЧАНИЕ

Используйте IP-адреса вместо имен хостов в файле config.ini. Измените порт на установленный номер порта. Порт PostgreSQL по умолчанию – 5432.

[cluster]
p1 = host=localhost port=5432 dbname=kaskad user=postgres password=postgres
sslmode=prefer sslcompression=1 krbsrvname=postgres target_session_attrs=any
p2 = host=hostName port=5432 dbname=kaskad user=postgres password=postgres
sslmode=prefer sslcompression=1 krbsrvname=postgres target_session_attrs=any
[main] local_node_host_name = p1.

ПРИМЕЧАНИЕ<

Данный параметр отличается в зависимости от стороны кластера: p1 на одной и p2 на другой!

pg_data_path = C:/Program Files/PostgreSQL/13/data.

ПРИМЕЧАНИЕ

Если вы проводили установку по умолчанию, вам не нужно изменять путь. В противном случае, укажите корректный путь.

cmd_create_db_directories= <Используйте директорию, созданную при создании
схемы:  "db", "ebvents", "alerts",
"backup"> Замените корневым каталогом вашей схемы:
"C:\\postgresql_backend"
cmd_create_db_directories = (if not exist "C:\\Share\\postgresql_backend"
mkdir "C:\\postgresql_backend") && (if not exist
"C:\\postgresql_backend\\db" mkdir
"C:\\postgresql_backend\\db") && (if not exist
"C:\\postgresql_backend\\alerts" mkdir
"C:\\postgresql_backend\\alerts") && (if not exist
"C:\\postgresql_backend\\events" mkdir
"C:\\postgresql_backend\\events") && (if not exist
"C:\\postgresql_backend\\backups" mkdir
"C:\\postgresql_backend\\backups")
cmd_remove_db_directories = (del /q "C:\Program Files\PostgreSQL\13\data\*")
&& (for /d %%x in ("C:\\Program Files\\PostgreSQL\\13\\data\\*") do
@rd /s /q "%%x") && (if exist "C:\\Share\\postgresql_backend" rmdir
 /s /q "C:\\Share\\postgresql_backend")
  • Установите настоящее имя вашего сетевого интерфейса «Ethernet». Для отображения интерфейсов запустите:netsh interface ipv4 show interfaces cmd_get_network_status_string = netsh interface ipv4 show interfaces «Ethernet» | findstr /e /c:»: connected»cmd_success_network_status_string = connected -> При необходимости (в соответствии с установленным языком PostgreSQL)cmd_get_db_status_string = pg_ctl status -D «C:/Program Files/PostgreSQL/13/data»cmd_promote_standby_to_master = pg_ctl promote -D «C:/Program Files/PostgreSQL/13/data»

ПРИМЕЧАНИЕ

Если вы проводили установку по умолчанию, вам не нужно изменять путь. В противном случае соответствующим образом измените пути следующих параметров.

  • path_to_backup: Отредактируйте путь, чтобы он указывал на каталог резервной копии схемы.
  • Запустите сценарий main.py

ПРИМЕЧАНИЕ

Запустите его от имени администратора, если это необходимо. В качестве альтернативы вы также можете запустить сценарий Python в качестве службы.

  • Для этого перейдите в каталог kaskad_path/data/NGA/PostgreSQL/sql/Cluster Monitor Tool и выполнитеpy windows_service.py --startup=auto installот имени администратора.

ВНИМАНИЕ

Если команда не выполняется, убедитесь, что каталог \win32 в директории установки Python содержит файлы ‘pythoncom<3x>.dll’ и ‘pywintypes<3x>.dll’. В зависимости от установки Python расположение файлов может отличаться.

Найдите файлы в директории установки Python и скопируйте их в каталог \win32.

  • Приведенная выше команда создала службу «PgClusterMonitor». Проверьте статус службы «PgClusterMonitor» в диспетчере задач Windows/Службы и при необходимости запустите службу.

ВНИМАНИЕ

Если у вас возникли проблемы с запуском службы, убедитесь, что вы вошли в службу как правильный пользователь: откройте меню «Пуск» Windows и введите «Службы».

  • Вы также можете установить и запустить службу как службу Linux. Выполните следующие шаги:
  • Создайте файл для службы:sudo touch /lib/systemd/system/pg-cluster-monitor.service
  • Отредактируйте службу pg-cluster-monitor.service следующим образом:[Unit Description=PostgreSQL Cluster Monitor Service After=multi-user.target][Service] WorkingDirectory=/pg_cluster_monitor User=root Type=idle ExecStart=/usr/bin/python3 /pg_cluster_monitor/main.py Restart=always [Install] WantedBy=multi-user.target где /pg_cluster_monitor — это директория с исходным кодом.
  • Затем выполните следующие команды:sudo systemctl daemon-reload sudo systemctl enable pg-cluster-monitor.service sudo systemctl start pg-cluster-monitor.service
  • Проверьте статус службы с помощью команды: systemctl status pg-cluster-monitor.service

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *