如何将PG转储从digitalocean导入本地机器?

时间:2016-11-16 07:00:54

标签: ruby-on-rails postgresql import digital-ocean

我是铁杆新手。 我想将pg数据库从digitalocean备份到我的本地机器。我如何转储并迁移到我的本地机器

2 个答案:

答案 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