Резервное копирование pgAdmin3 через туннель ssh

У меня есть работающий сервер postgresql на amazone ec2. Я подключаюсь к нему с помощью pgAdmin3 через туннель ssh, настроенный непосредственно в pgAdmin3 с моего Mac. Я могу делать запросы и видеть полную схему, с этим проблем нет.

Если я попытаюсь сделать резервную копию базы данных (из графического интерфейса pgAdmin3), я получу (даже если соединение действительно открыто и работает) следующее исключение:

/Applications/pgAdmin3.app/Contents/SharedSupport/pg_dump --host localhost --port 5432 --username "MY_USERNAME" --role "MY_ROLE" --no-password  --format custom --encoding UTF8 --verbose --file "/Users/XXX/filename" "DATABASENAME"
pg_dump: [archiver (db)] connection to database "DATABASENAME" failed: could not connect to server: Connection refused
	Is the server running on host "localhost" (::1) and accepting
	TCP/IP connections on port 5432?
could not connect to server: Connection refused
	Is the server running on host "localhost" (127.0.0.1) and accepting
	TCP/IP connections on port 5432?

Process ended with Exitcode 1.

Есть идеи, почему pg_dump в фоновом режиме не может подключиться через ssh-туннель?


person Adrian    schedule 04.09.2015    source источник
comment
Мне также интересно, почему pgAdmin не поддерживает эту функцию. Это известная ошибка?   -  person Karens    schedule 11.01.2016


Ответы (2)


альтернатива, пока я не нашел решение, состоит в том, чтобы сделать это с помощью терминала

ssh <HOST> "pg_dump -U <USERNAME> -W -h localhost -F c <DATABASENAME> | gzip -c" > ./backup.sql.gz
person Adrian    schedule 04.09.2015

Эта строка работала для меня:

ssh -o "Compression=no" server_adress "pg_dump -Z9 -Fc -U postgres db_name" > backup_name.dump
person Burak Özdemir    schedule 07.03.2017