![在 Mac OS 中,更改数据文件夹位置后,Postgres 无法启动 Postgres 数据库。它没有给出任何错误](https://linux22.com/image/608280/%E5%9C%A8%20Mac%20OS%20%E4%B8%AD%EF%BC%8C%E6%9B%B4%E6%94%B9%E6%95%B0%E6%8D%AE%E6%96%87%E4%BB%B6%E5%A4%B9%E4%BD%8D%E7%BD%AE%E5%90%8E%EF%BC%8CPostgres%20%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%20Postgres%20%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%E5%AE%83%E6%B2%A1%E6%9C%89%E7%BB%99%E5%87%BA%E4%BB%BB%E4%BD%95%E9%94%99%E8%AF%AF.png)
我正在尝试在 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