Я пытаюсь настроить экземпляр 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
который делает все).