本文面向 M 系列(M1/M2/M3)芯片的 macOS 用户,涵盖安装 PostgreSQL、启动服务、以及创建业务数据库和账号的全过程。
PostgreSQL(简称 pgsql)是目前最流行的开源关系型数据库之一。在 M 芯片的 macOS 上安装它和 Intel 版略有差别,尤其是路径和 Homebrew 的目录不同。本文将完整介绍安装、启动、以及如何创建业务库和账号。
一、环境准备
确保系统已经安装 Homebrew(在 M 系列 Mac 上路径是 /opt/homebrew):
brew -v
若未安装,可在终端运行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
二、安装 PostgreSQL
直接使用 Homebrew 安装指定版本(这里以 14 为例):
brew install postgresql@14
安装完成后,Homebrew 会自动初始化数据库集群,路径位于:
/opt/homebrew/var/postgresql@14
三、启动与验证
- 启动服务:
brew services start postgresql@14
- 验证服务是否运行:
pg_ctl -D /opt/homebrew/var/postgresql@14 status
- 查看监听端口:
lsof -iTCP:5432 -sTCP:LISTEN
- 登录数据库(初始超级用户与本机用户名一致,例如
chris):
/opt/homebrew/opt/postgresql@14/bin/psql -d postgres
进入后,可以查看已有数据库和用户:
\l -- 列出数据库
\du -- 列出用户
四、配置环境变量
为了能直接使用 psql 命令,需要把二进制路径加入环境变量。在 ~/.zshrc 中添加:
export PATH="/opt/homebrew/opt/postgresql@14/bin:$PATH"
执行:
exec zsh
现在直接运行 psql --version 即可。
五、创建业务数据库和账号
假设我们要为 CloudFinOps 云账通 项目创建独立数据库和账号。
- 进入 PostgreSQL:
psql -U chris -d postgres
- 创建业务用户(替换为你自己的强密码;如果包含特殊字符如
@,记得在连接串里 URL 编码):
CREATE ROLE cloudfinops WITH LOGIN PASSWORD 'Strong@Pass123';
- 创建业务数据库,并指定拥有者:
CREATE DATABASE cloudfinops_db OWNER cloudfinops;
- 授权用户访问数据库:
GRANT ALL PRIVILEGES ON DATABASE cloudfinops_db TO cloudfinops;
- 测试连接:
psql -U cloudfinops -d cloudfinops_db
六、获取连接字符串
在应用(如 Python、Node.js、Java 等)中通常需要连接 URI:
postgresql://USERNAME:PASSWORD@HOST:PORT/DATABASE
例如:
postgresql://cloudfinops:Strong%40Pass123@localhost:5432/cloudfinops_db
注意:@ 被转义为 %40,否则会导致解析错误。
七、常见问题
- 提示
role "postgres" does not exist
Homebrew 初始化时只会创建与你本机用户名相同的超级用户。如果确实需要postgres账号,可以手动创建:CREATE ROLE postgres WITH LOGIN SUPERUSER PASSWORD 'YourPass'; psql默认报 “database … does not exist”
默认会尝试连接与用户名同名的数据库,可以用:createdb $(whoami)来创建一个同名数据库。
八、总结
在 M 芯片 Mac 上安装 PostgreSQL 与 Intel 版主要区别在于 Homebrew 的安装路径。通过 Homebrew 安装后,记得将二进制加入 PATH,并使用本机用户名作为初始超级用户。之后为业务项目创建独立的数据库和账号,即可实现隔离与安全控制。
这样一来,你就可以轻松在 macOS 上搭建出一套 PostgreSQL 环境,为自己的 CloudFinOps 或其他应用提供数据支撑。 🚀

留下评论