postgresql – 从远程服务器到本地主机的pg_dump
大家好,任何人都可以帮我从远程AWS服务器上的postgreSQL数据库转储到本地机器上的postgreSQL数据库.
我一直在尝试使用this堆栈帖子中的答案,但它一直都失败了. 我正在使用的命令是 pg_dump -C -h ssh ubuntu@ec2-59-16-143-85.eu-west-1.compute.amazonaws.com -U dev_user paycloud_dev | psql -h localhost -U dev_user paycloud_dev 但我一直在收到错误 pg_dump: too many command-line arguments (first is "paycloud_dev") 无法弄清楚我做错了什么 只是添加,dev_user是我在本地机器和远程服务器上的postgreSQL中设置的角色. paycloud_dev是两者上的数据库的名称(所有者是dev_user)
根据由于某种原因已被删除的帖子尝试下面的命令 pg_dump -C -h ec2-59-16-143-85.eu-west-1.compute.amazonaws.com -U dev_user paycloud_dev | psql -h localhost -U dev_user paycloud_dev 现在这给了我错误 pg_dump: [archiver (db)] connection to database "paycloud_dev" failed: could not connect to server: Connection refused Is the server running on host "ec2-59-16-143-85.eu-west-1.compute.amazonaws.com" (59.16.143.85) and accepting TCP/IP connections on port 5432? 我继续使用AWS并注意到这是服务器的弹性IP.然后我尝试了以下(私有IP地址) pg_dump -C -h 170.30.43.35 -U dev_user paycloud_dev | psql -h localhost -U dev_user paycloud_dev 这要求我输入paycloud_dev的密码,当我输入它时会暂停2或3分钟并返回: pg_dump: [archiver (db)] connection to database "paycloud_dev" failed: could not connect to server: Connection refused Is the server running on host "170.30.43.35" and accepting TCP/IP connections on port 5432? 我已尝试编辑AWS安全组以添加接受所有流量的规则(端口范围0-65535)但发生了相同的错误.
按照pokoli的帖子尝试以下内容 ssh ubuntu@ec2-59-16-143-85.eu-west-1.compute.amazonaws.com pg_dump -C -h -U dev_user paycloud_dev | psql -U dev_user paycloud_dev 虽然不行.它首先要求我为我的笔记本电脑的psql密码,然后我可以输入任何东西,它给出了一个错误. [sudo] password for alzer: pg_dump: too many command-line arguments (first is "paycloud_dev") 请尝试“pg_dump –help”以获取更多信息. 任何人? 解决方法
您必须使用ssh连接到远程主机,执行转储并将其传送到本地计算机.以下命令应该:
ssh ubuntu@ec2-59-16-143-85.eu-west-1.compute.amazonaws.com -C pg_dump -U dev_user paycloud_dev | psql -U dev_user paycloud_dev 如果需要,该命令将询问两个用户的密码,并且localcloud_dev数据库应存在于localhost上,否则转储将失败. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |