postgresql - 当端口 5432 被阻塞时从远程服务器 pg_dump postgres 数据库

标签 postgresql ssh remote-server pg-dump

我正在尝试在我们 DMZ 中的远程服务器上 pg_dump 一个 SQL 数据库。有2个问题。

  1. 远程服务器上没有太多剩余空间,因此运行正常命令以在本地备份数据库 pg_dump -C database > sqldatabase.sql.bak 由于空间问题将无法运行。

  2. 我也无法使用其他版本的 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/

相关文章:

azure - 如何更新 Azure VM BIOS 设置?

tomcat - AWS 服务器中的部署自动化

php - Mysql远程插入

python - postgresql 数据库查询后 python 脚本输出中存在未知空格

mysql - SQL : ids containing specific arrays in a specific way

postgresql - 带有 CTE 的 Postgres EXECUTE

linux - 在 SSH session 中查找客户端的 IP 地址

ubuntu - 可以以 root 身份而不是 ubuntu 用户身份 SSH 到 EC2 ubuntu 服务器

postgresql - 日期postgres之间的 double 月数

git - 无法使用 ssh 进行 git 克隆、推送、 pull ,引发 kex_exchange_identification 错误