移动 Ubuntu 上的 postgres 数据文件夹

Moving postgres data folder on Ubuntu

我有一个查询 Postgresql 数据库的 Web 应用程序(成功),我希望将数据文件夹从位置 /var/lib/postgres/9.3/main 移动到可自定义的位置。

现在,由于权限错误,我什至无法复制文件夹,但我无法为自己分配权限,因为这会破坏 postgres 服务器。

(我通过 运行 sudo chown <username> -R /var/lib/postgres/9.3/main 破坏了服务器 - 它作为命令工作但停止了 postgres 服务器工作)

我会简单地创建一个新文件夹并更改那里的位置,但如果这样做,我将丢失我的数据库的当前实例。

如何将当前文件夹移动到新位置,以便我可以在 .conf 文件中指向它?我需要明确移动文件夹,我无法创建新的数据库。

  • 您可以只复制或移动目录,包括所有子目录和文件 cp -rpmv 应该足够了。
  • Postgres 必须不能运行,而你正在处理文件
  • 数据目录 (PG_DATA) 的基础必须 由 postgres 拥有并且具有 文件模式 0700 。 (如果不是:pg 将拒绝启动)
  • [其余文件必须至少由 postgres readable/writeble]
  • 启动进程也必须知道新位置(在 /etc/init.d/ 和(可能)数据目录中的 postgres.conf 文件中。(用于日志文件位置)