在 Mac OS 中,更改数据文件夹位置后,Postgres 无法启动 Postgres 数据库。它没有给出任何错误

在 Mac OS 中,更改数据文件夹位置后,Postgres 无法启动 Postgres 数据库。它没有给出任何错误

我正在尝试在 Mac 上使用 Postgres。更改数据文件夹的位置后,postgres 没有启动。它没有给出任何错误消息。

我从其他位置复制了数据文件夹,并尝试运行

./pg_ctl -D location -l logfile start

来自 pg_ctl 所在的目录。它给出了消息Server Started,但是当我使用检查时ps -ef | grep postgres,没有返回 PID。我想知道在 MacOS X 上是否有必要在 Mac 上再次运行 initdb - 在 Windows 中,我们可以轻松更改数据文件夹,并且它可以在任何位置工作。请帮助我。

答案1

根据错误消息“数据文件夹的所有权错误“,问题在于复制的方式没有保留所有权和权限。

为了避免这种情况,您可以cp -rp在终端窗口中使用命令来复制数据文件夹(如果您仍有该文件夹):

cp -rp /path/to/old-data /path/to/new-data

如果旧数据目录丢失,则可以使用以下方法修复新数据目录的所有权:

  chown -R postgres /path/to/new-data

您可能还需要确保使用以下方法具有适当的权限:

  chmod -R go-rwx /path/to/new-data

相关内容