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