如何制作数据库的副本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 这样的配置