Назад | Перейти на главную страницу

Настройте Postgres на сервере A на pg_restore на сервере B (требуется проверка подлинности сертификата)

Я пытаюсь настроить экземпляр PostgreSQL, работающий на SERVER_A, для подключения к другому экземпляру PostgreSQL на SERVER_B. Я запускаю сценарий оболочки на SERVER_A, который в конечном итоге должен подключиться и выполнить pg_restore в базе данных, которая находится на SERVER_B.

SERVER_B находится на AWS Amazon. Обычно для подключения 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 и вместо этого просто запустить серию команд из моего сценария оболочки для восстановления?

Буду признателен за любую помощь, спасибо!

Если все, что вы хотите сделать, это pg_restore файл дампа, находящийся в данный момент SERVER_A к экземпляру БД, работающему на SERVER_B это просто:

SERVER_A # cat dump_file | ssh SERVER_B pg_restore

(Включите все необходимые параметры в pg_restore, но не указывайте имя файла. Per руководство postgres, If [filename is] not specified, the standard input is used.)

(Вы также можете scp перезагрузите файл дампа, а затем запустите восстановление, используя файл на SERVER_B, но приведенное выше, похоже, больше соответствует вашей цели запустить один скрипт на SERVER_A что делает все).