2014-10-02 80 views
1

我有生产数据库中的数据,但想测试一些新功能,所以我在同一台服务器上设置了一个临时环境,并且想要使用生产中的数据数据库与我的舞台应用程序。如何轻松克隆生产postgresql数据库到分期

如何将数据从我的rails_production数据库复制到我的rails_staging数据库,它们都拥有相同的所有者(postgres)并共享相同的密码。

+0

或http://stackoverflow.com/questions/1237725/how-to-copy-postgres-database-to-another-server – 2014-10-02 22:23:14

+1

所选重复不是一个很好的选择;它特定于PgAdmin并使用模板,这不是最好的方式。连接时不能将数据库作为模板复制。 – 2014-10-03 00:45:39

回答

3

最简单的方法是使用pg_dump进行备份,然后通过管道将其输出到psql中将其恢复到新数据库。如果你可以连接到这两个盒子,你也可以直接从pg_dump传输到psql,而无需使用本地文件系统。

此处描述该方法:

Copying PostgreSQL database to another server

+0

他们都在同一台服务器上 – 2014-10-02 21:25:41

+1

好的,所以pg_dump source | psql目标应该将数据从源文件传输到目标文件。 – Zeki 2014-10-02 21:30:28

+0

@Zehi,如何确保即使出现一些错误(网络问题),everyhing仍然可以?迁移后如何检查两个数据库是否相同? – BAE 2016-01-14 18:17:40