我正在尝试在我们 DMZ 中的远程服务器上 pg_dump 一个 SQL 数据库。有2个问题。
远程服务器上没有太多剩余空间,因此运行正常命令以在本地备份数据库
pg_dump -C database > sqldatabase.sql.bak
由于空间问题将无法运行。我也无法使用其他版本的 pg_dump 命令将数据库从远程服务器转储到本地服务器:
pg_dump -C -h remotehost -U remoteuser db_name | psql localhost -U localuser 数据库名
因为服务器在我们的 DMZ 中并且端口 5432 被阻止。我希望看到的是是否可以 pg_dump 数据库并立即将其(ssh 或其他形式)作为文件保存到远程服务器。
我尝试的是:pg_dump -C testdb | ssh admin@ourserver.com | >/home/admin/testdb.sql.bak
有谁知道我想要实现的目标是否可行?
最佳答案
您可以使用 ssh 连接到您的远程服务器,连接 pg_dump 调用并将输出发送回本地机器的标准输出。
ssh user@remote_machine "pg_dump -U dbuser -h localhost -C --column-inserts" \
> backup_file_on_your_local_machine.sql
关于postgresql - 当端口 5432 被阻塞时从远程服务器 pg_dump postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648309/