复制 postgresql 数据库

复制 postgresql 数据库

如何制作数据库的副本postgresql

我认为的一些步骤如下:

  • 停止所有查询
  • 停止postgresql守护进程
  • 将数据库文件复制到新位置
  • 对配置文件进行一些修改
  • 重新加载服务器

有什么想法我应该进行哪些更改postgresql.conf以便将新数据库的信息通知 postgresql 服务器?

答案1

复制文件不起作用。

pg_dump数据库,然后使用pg_restore或加载它psql(取决于给予的选项pg_dump)。

答案2

您必须更正配置文件中的所有绝对路径(如果有)和启动脚本中的 PGDATA 变量(或选项)。

答案3

正如@user13185,您应该使用 pg_dump / pg_restore。

但在开始转储之前重命名数据库是一个好的做法。

为了做到这一点,应该断开与该数据库的所有连接。

答案4

如果要将数据存储移动到新位置,请将数据目录复制到新位置。更改 .service systemd 启动文件中的 PGDATA 变量。然后停止 postgres 运行

postgres initdb

这可以使您的 postgres 使用新目录作为数据文件,包括像 postgresql.conf 这样的配置

相关内容