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

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

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

SERVER_B находится на Amazon's AWS. Обычно, чтобы подключиться к машине по ssh, я бы выполнил следующие команды:

# ssh -i .ssh/server-dev.pem [email protected]
[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который делает все).

Связанный контент