我正在尝试在 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