我最近安装了 PostgreSQL,现在启动时出现这些错误:
“/Library/StartupItems/HWPortDetect” 尚未启动,因为它没有适当的安全设置。
“/Library/StartupItems/PostgreSQL” 尚未启动,因为它没有适当的安全设置。
知道为什么会发生这种情况以及如何解决它吗?
答案1
尝试运行以下命令:
sudo chown -R root:wheel /Library/StartupItems
sudo chmod -R 755 /Library/StartupItems
这些命令将为文件夹 StartupItems 子文件夹设置正确的用户、组和执行/写入/读取权限。
答案2
我认为我已经解决这个问题了。
1-我删除了导致问题的 /Library/StartupItems/PostgreSQL 文件夹(我认为启动项无论如何都无法正常工作)
2- 借助这篇博文: http://www.ketema.net/serendipity/archives/89-Autostarting-PostgreSQL-on-Leopard.html
我推出了自己的自动启动 plist 文件
现在 PostgreSQL 可以正常自动启动,而且我没有收到安全警告。仅供参考,我的 org.postgresql.plist 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PGDATA</key>
<string>/Library/PostgreSQL8/data</string>
</dict>
<key>GroupName</key>
<string>wheel</string>
<key>Label</key>
<string>postgresql</string>
<key>ProgramArguments</key>
<array>
<string>/Library/PostgreSQL8/bin/postgres</string>
<string>-i</string>
</array>
<key>RunAtload</key>
<true/>
<key>ServiceDescription</key>
<string>PostgreSQL Server</string>
<key>StandardErrorPath</key>
<string>/Library/PostgreSQL8/data/pg_log/logfile</string>
<key>StandardOutPath</key>
<string>/Library/PostgreSQL8/data/pg_log/logfile</string>
<key>UserName</key>
<string>postgres</string>
</dict>
</plist>