我是铁杆新手。 我想将pg数据库从digitalocean备份到我的本地机器。我如何转储并迁移到我的本地机器
答案 0 :(得分:1)
使用pg_dump,
首先,对于目标计算机(具有要转储的数据库的远程计算机),使计算机接收pg_dump请求的两个步骤:
1.在postgresql.conf中添加或编辑以下行:(根据我的经验,位置可能是/etc/postgresql/9.3/main/postgresql.conf,用你的psql版本替换9.3。如果没有人更改文件之前,您将下面的行添加到文件的末尾)
listen_addresses = '*'
2.添加以下行作为文件'pg_hba.conf'的第一行。 (根据我的经验,像/etc/postgresql/9.3/main/pg_hba.conf这样的位置)它允许所有使用加密密码的用户访问所有数据库:
# TYPE DATABASEUSER CIDR-ADDRESS METHOD
host all all all md5
完成这两个步骤后,输入终端:
/etc/init.d/postgresql start
最后,在本地计算机中,您应该找出可以读取它的目标数据库的用户(或所有者):
您可以通过ssh实现此目的,以连接该计算机并进入psql控制台
sudo su - postgres && psql
并输入
\l
查看数据库所有者。
最后,您可以在本地计算机中使用pg_dump来转储数据库。喜欢:
pg_dump -f dump_name -h host_ip -d database_name -U database_user -p 5432 -W
然后输入用户的密码,等待转储数据库的时间很长。
希望你能成功〜
答案 1 :(得分:0)
首先,您需要创建备份,然后从数字海洋下载转储,并在控制台上运行这些命令。 使用SCP下载转储。
1-pg_dump dbname > outfile
2-pg_restore --verbose --clean --jobs=4 --disable-triggers --no-acl --no-owner -h localhost -U user_name -d database_name outfile.dump