文档章节

将PostgreSQL数据库复制到另一台服务器

 技术盛宴
发布于 01/22 21:40
字数 615
阅读 282
收藏 0

我正在将生产PostgreSQL数据库复制到开发服务器。 什么是最快,最简单的方法?


#1楼

pg_dump the_db_name > the_backup.sql

然后将备份复制到您的开发服务器,并使用以下命令进行还原:

psql the_new_dev_db < the_backup.sql

#2楼

使用pg_dump ,然后使用psqlpg_restore-取决于是否为pg_dump选择-Fp或-Fc选项。

用法示例:

ssh production
pg_dump -C -Fp -f dump.sql -U postgres some_database_name
scp dump.sql development:
rm dump.sql
ssh development
psql -U postgres -f dump.sql

#3楼

您无需创建中间文件。 你可以做

pg_dump -C -h localhost -U localuser dbname | psql -h remotehost -U remoteuser dbname

要么

pg_dump -C -h remotehost -U remoteuser dbname | psql -h localhost -U localuser dbname

使用psqlpg_dump连接到远程主机。

对于大型数据库或较慢的连接,转储文件和传输压缩文件的速度可能更快。

正如Kornel所说,无需转储到中间文件,如果您要进行压缩工作,则可以使用压缩隧道。

pg_dump -C dbname | bzip2 | ssh  remoteuser@remotehost "bunzip2 | psql dbname"

要么

pg_dump -C dbname | ssh -C remoteuser@remotehost "psql dbname"

但是此解决方案还需要两端都进行会话。

注意: pg_dump用于备份, psql用于还原。 因此, 此答案中第一个命令是从本地复制到远程,第二个命令是从remote复制到本地 。 更多-> https://www.postgresql.org/docs/9.6/app-pgdump.html


#4楼

我经过了很多努力,最终使我可以在Rails 4中使用的方法是:

在旧服务器上

sudo su - postgres
pg_dump -c --inserts old_db_name > dump.sql

我不得不使用postgres linux用户来创建转储。 我也不得不使用-c来强制在新服务器上创建数据库。 --inserts告诉它使用INSERT()语法,否则对我不起作用:(

然后,在新服务器上,simpy:

sudo su - postgres
psql new_database_name < dump.sql

在服务器之间传输dump.sql文件时,我只使用了“ cat”来打印内容,而不是使用“ nano”来重新创建它来复制粘贴内容。

另外,我在两个数据库上使用的角色是不同的,因此我不得不在转储中查找替换所有所有者名称。


#5楼

pg_basebackup似乎是现在更好的方法,尤其是对于大型数据库。

本文转载自:https://stackoom.com/question/5BzJ/将PostgreSQL数据库复制到另一台服务器

粉丝 0
博文 1167
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

如何在CentOS 8 上安装 PostgreSQL 数据库

如何在CentOS 8 上安装 PostgreSQL 数据库 PostgreSQL是一个开源的通用对象关系数据库管理系统,PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图...

等会再说
2019/11/21
0
0
GitLab:因“大脑分裂问题” 5台PostgreSQL 3台彻底趴下

数据库复制故障让五台 PostgreSQL 服务器中的三台彻底趴下。 在一起典型的故障事件中,GitLab昨天无意中触发了数据库故障切换,因此降低了性能。 由此引发的“大脑分裂问题”让这家代码收集网...

周其
2018/04/29
4.4K
9
PostgreSql基于Standby的异步流主从复制

一、概述 PostgreSQl从9.0版本之后推出一个类似于Oracle的active dataguard和MySql中继日志一样的日志传送。我们借助这个功能就可实现PostgreSql的主从复制。 基本原理就是,通常一台主数据库...

青苗飞扬
2018/06/26
0
0
如何打造 PostgreSQL 闪回环境?

作者介绍 Lottu(乐途),目前就职于深圳宜搜科技有限公司,担任数据库DBA,主要承PostgreSQL、Oracle数据库维护工作以及数据库去O工作。 引言 在 PostgreSQL 数据库;目前是不支持类似 Oracle...

PostgreSQL中文社区
2019/01/16
0
0
PostgreSQL和MySQL

翻译来源:https://www.2ndquadrant.com/en/postgresql/postgresql-vs-mysql/ PostgreSQL和MySQL 之间有着根本的区别。在评估两个系统之间的差异和折衷之后,必须做出明智的决定。 我们已经提...

悟道之客
2018/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

济南哪里可以开礼品费发票-腾讯新闻网

济南哪里可以开礼品费发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

16534163822
8分钟前
16
0
济南哪里可以开五金材料发票-腾讯新闻网

济南哪里可以开五金材料发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bri...

16566493077
8分钟前
29
0
济南哪里可以开钢材发票-腾讯新闻网

济南哪里可以开钢材发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,...

16534163727
8分钟前
21
0
济南哪里可以开汽车租赁费发票-腾讯新闻网

济南哪里可以开汽车租赁费发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug B...

17035270196
10分钟前
18
0
济南哪里可以开体育用品发票-腾讯新闻网

济南哪里可以开体育用品发票【152 * 9б 28 * 21 б9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bri...

17035270010
10分钟前
29
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部