我正在尝试将pg转储从测试服务器转移到我的本地计算机,我已经登录到我的服务器root@我的项目-准备-开发1:~/我的项目/当前#我应该在这里写哪个命令来把pg转储到我的本地机器上?
n3ipq98p1#
第一步SSH连接到临时/生产服务器。第二步转储所需的数据库:
pg_dump database_name > database_name_20160527.sql
你可以随意命名你的转储--我用日期来区分多个转储。第三步离开SSH并使用SCP下载新的SQL文件。
scp login@host:path_to_dir_with/database_name_20160527.sql database_name_20160527.sql
此命令使用SSH登录到远程服务器,并将给定文件下载到您指定的本地目录。如果未指定本地目录的路径,则转储将保存在当前工作目录中。示例:
scp marcin@8.8.8.8:/home/my_app/backups/my_app_database_20160527.sql my_app_database_20160527.sql
第一步如果要使用当前的localhost数据库,必须先将其删除:
psql template1 -c 'drop database database_name;'
第二步在本地主机上创建新数据库:
psql template1 -c 'create database database_name with owner your_user_name;
第三步并将转储写入数据库:
psql database_name < database_name_20160527.sql
Source
omhiaaxx2#
您可以通过ssh命令运行pg_dump,这样您就有了一行代码:
ssh
pg_dump
filename="tmp/backup_$(date +%Y-%m-%d_%H-%M-%S).sql" ssh user@IP \ "pg_dump --no-owner postgresql://user:pass@127.0.0.1/dbname" \ >"$filename"
2条答案
按热度按时间n3ipq98p1#
第一步
SSH连接到临时/生产服务器。
第二步
转储所需的数据库:
你可以随意命名你的转储--我用日期来区分多个转储。
第三步
离开SSH并使用SCP下载新的SQL文件。
此命令使用SSH登录到远程服务器,并将给定文件下载到您指定的本地目录。如果未指定本地目录的路径,则转储将保存在当前工作目录中。
示例:
第一步
如果要使用当前的localhost数据库,必须先将其删除:
第二步
在本地主机上创建新数据库:
第三步
并将转储写入数据库:
Source
omhiaaxx2#
您可以通过
ssh
命令运行pg_dump
,这样您就有了一行代码: