Настройте Postgres на сервере A для pg_restore на сервере B (требуется проверка подлинности сертификата)
Я пытаюсь настроить экземпляр PostgreSQL, работающий на SERVER_A, для подключения к другому экземпляру PostgreSQL на SERVER_B. Я запускаю сценарий оболочки на SERVER_A, который в конечном итоге должен подключиться и выполнить pg_restore в базе данных, которая находится на SERVER_B.
SERVER_B находится на Amazon AWS. Обычно, чтобы войти в ssh, я запускаю следующие команды:
# ssh -i .ssh/server-dev.pem root@dev.hostname.com
[root@dev]# ssh -i .ssh/dev1mac 0.0.0.0
... с экземпляром Postgres, расположенным по адресу 0.0.0.0
Может кто-нибудь помочь объяснить мне, как я использовал бы вышеупомянутую информацию, чтобы настроить Postgres на SERVER_A? Я смотрел в pg_hba.conf, но, честно говоря, я никогда не делал этого раньше и из документации, мне не ясно, как достичь желаемого результата. Возможно, есть более простой способ, который позволил бы мне вообще пропустить настройку Postgres, и вместо этого просто запустить серию команд из моего сценария оболочки для достижения восстановления?
Буду признателен за любую помощь, спасибо!
1 ответ
Если все, что вы хотите сделать, это pg_restore файл дампа в настоящее время на SERVER_A
к экземпляру БД, работающему на SERVER_B
это просто:
SERVER_A # cat dump_file | ssh SERVER_B pg_restore
(Включите все необходимые параметры для pg_restore, но не указывайте имя файла. Согласно руководству postgres, If [filename is] not specified, the standard input is used.
)
(Вы могли бы также scp
файл дампа снова, а затем запустите восстановление, используя файл на SERVER_B
, но вышеприведенное, кажется, больше соответствует вашей цели запустить один скрипт на SERVER_A
это все делает)