要在 Mac M1 上开机自动启动 PostgreSQL,你需要创建一个 plist 文件,该文件定义了一个 launchd 服务,这是 macOS 用于管理后台服务的工具。以下是一些步骤:
-
创建一个新的 plist 文件。打开你的终端并运行以下命令(使用你的文本编辑器,例如 nano 或 vim):
sudo nano /Library/LaunchDaemons/org.postgresql.postgres.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>Label</key> <string>org.postgresql.postgres</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/postgres</string> <string>-D</string> <string>/usr/local/var/postgres</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>注意:
/usr/local/bin/postgres和/usr/local/var/postgres是 PostgreSQL 的默认安装和数据目录。如果你的 PostgreSQL 安装在不同的地方,你需要更改这些值。 -
保存和关闭文件。如果你正在使用 nano,可以按
Control+X,然后按y,最后按Enter。 -
设置正确的所有权和权限。在你的终端中运行以下命令:
sudo chown root:wheel /Library/LaunchDaemons/org.postgresql.postgres.plist sudo chmod 644 /Library/LaunchDaemons/org.postgresql.postgres.plist -
然后,再次检查文件的所有权:
ls -l /Library/LaunchDaemons/postgresql-12.plist现在,你应该看到类似这样的输出
-rw-r--r-- 1 root wheel 584 Dec 8 12:34 /Library/LaunchDaemons/postgresql-12.plist -
最后,要加载你的新服务,运行以下命令:
-
现在,每次你的 Mac M1 开机时,PostgreSQL 服务都应该自动启动。要检查其是否正在运行,你可以使用以下命令:
ps aux | grep postgres如果 PostgreSQL 正在运行,你应该能看到一些与 postgres 相关的进程。
本文详细介绍了如何在MacM1上通过创建plist文件和launchd服务来实现PostgreSQL的开机自动启动,包括创建plist文件、设置所有权和权限以及验证服务运行情况。
1018

被折叠的 条评论
为什么被折叠?



