В ситуации, если была удалена запись администратора по умолчанию или для нее был изменен и утрачен пароль, или иных действий, в результате которых в системе нельзя авторизоваться ни под одной учетной записью, предусмотрено восстановление учетной записи администратора "admin" с паролем по умолчанию "admin". Для восстановления используется плейбук "restore-default-admin.yml" из состава архива плейбуков установки (см. v0.7_3.2 Установка плейбуками Ansible).
Восстановление выполняется путем подключения к БД и создания/обновления учетной записи администратора. По умолчанию подключение к БД выполняется по адресу, указанному в файле "hosts.yml" в разделе "commont_host".
При первом запуске плейбука потребуется установка библиотеки "python3-psycopg2", что потребует доступа к сети Интернет с целевого хоста!
Standalone установка
Запуск плейбука выполняется командой:
ansible-playbook --ask-become-pass restore-default-admin.yml
Для запуска плейбука на определенном хосте, описанном в "hosts.yml" потребуется указать его:
ansible-playbook --ask-become-pass restore-default-admin.yml -e "working_host=common_host"
Установка с резервированием
Если используется схема с резервированием, в которой БД postgres работает в кластере, необходимо выполнить плейбук на ноде, которая является Primary. По умолчанию это нода указанная в разделе "node_primary" файла "hosts.yml":
ansible-playbook --ask-become-pass restore-default-admin.yml -e "working_host=node_primary"
Если Primary находится на второй ноде, необходимо выполнить команду на на ней:
ansible-playbook --ask-become-pass restore-default-admin.yml -e "working_host=node_standby"
Выполнение плейбука на ноде, находящейся в состоянии "Standby" (read-only), завершится ошибкой в связи с невозможностью выполнить запись в БД. На работоспособность и состояние кластера БД это не окажет влияния.
Чтобы узнать состояние кластера и роль нод в нем необходимо зайти на каждую ноду и подключиться к контейнеру Postgres.
Для node-1 командой:
sudo docker exec -it naice-postgres-1 bash
Для node-2 командой:
sudo docker exec -it naice-postgres-2 bash
Внутри контейнера выполнить команду:
repmgr -f /opt/bitnami/repmgr/conf/repmgr.conf cluster show