安装 PostgreSQL、Redis 与数据库客户端

本机跑通关系型数据库、缓存和 GUI 客户端,为后端项目准备数据层

Posted by CodeWater517 on May 31, 2026

前端和后端都跑起来以后,下一步是数据层。本文先讲本机安装 PostgreSQL 和 Redis,后面 Docker Compose 篇会讲如何把它们容器化。

结论

推荐主线:

1
2
3
4
5
6
Homebrew 安装 PostgreSQL
-> brew services 启动
-> 创建开发数据库和用户
-> 安装 Redis
-> 验证 PONG
-> 安装数据库客户端

学习阶段本机安装能帮助你理解命令。项目协作阶段再用 Docker Compose 提高可复现性。

我找到的教程类型

来源 类型 时间/版本 优点 问题 推荐度
PostgreSQL Homebrew Wiki 官方社区 Wiki 当前在线页面 解释 Homebrew 安装和 brew services 页面偏 Wiki,需筛选命令 5
PostgreSQL Platform Notes 官方文档 PostgreSQL 当前版本 macOS 平台注意事项权威 偏源码安装,不适合新手主线 4
Redis macOS Homebrew 官方文档 当前在线文档 Redis 8、Homebrew cask、验证 PING/PONG 说明清楚 与旧 brew install redis 教程有差异 5
Postgres Docker Official Image 官方镜像文档 当前镜像页 后续 Compose 环境变量要用 本篇本机安装只引用概念 4
Docker Blog:Postgres Official Image 官方博客 2022 解释 POSTGRES_USERPOSTGRES_PASSWORD 等变量 用于后续容器篇更合适 4
Ercan Sormaz:Installing PostgreSQL on macOS 社区文章 2025 对 Apple Silicon/Intel 和本机开发场景讲得细 版本号需以 Homebrew 当前为准 4
TablePlus / DBeaver / Postico 工具官网 当前页面 GUI 客户端选择 GUI 偏个人偏好 4

1. 安装 PostgreSQL

先查看可安装版本:

1
2
brew search postgresql
brew info postgresql

如果你不需要固定版本,可以安装默认公式:

1
brew install postgresql

如果项目要求特定大版本,例如 17:

1
brew install postgresql@17

这一步在做什么:安装 PostgreSQL 服务端和 psql 客户端。

验证:

1
2
psql --version
which psql

如果安装的是带版本后缀的公式,可能需要把对应 bin 加入 PATH。先看 Homebrew 安装后的提示,不要盲目复制别人的路径。

2. 启动 PostgreSQL

默认公式:

1
brew services start postgresql

特定版本:

1
brew services start postgresql@17

查看状态:

1
brew services list

成功信号:对应服务状态是 started

如果你只想当前终端临时运行,不想开机自启,可以使用 Homebrew Wiki 提到的 brew services run 思路,但新手阶段先用 start 更简单。

3. 创建开发数据库和用户

先进入 PostgreSQL:

1
psql postgres

创建用户和数据库:

1
2
3
CREATE USER fullstack WITH PASSWORD 'fullstack';
CREATE DATABASE fullstack OWNER fullstack;
GRANT ALL PRIVILEGES ON DATABASE fullstack TO fullstack;

退出:

1
\q

测试连接:

1
psql "postgresql://fullstack:fullstack@localhost:5432/fullstack"

成功信号:进入 fullstack=> 提示符。

学习环境可以使用简单密码。真实项目不要使用这种默认密码。

4. 常用 psql 命令

进入数据库后:

1
2
3
4
5
\l
\dt
\du
\conninfo
\q

含义:

  • \l:列出数据库;
  • \dt:列出表;
  • \du:列出用户/角色;
  • \conninfo:查看当前连接;
  • \q:退出。

5. 安装 Redis

Redis 官方当前 macOS 文档推荐使用 Redis Homebrew tap 和 cask:

1
2
brew tap redis/redis
brew install --cask redis

启动:

1
redis-server $(brew --prefix)/etc/redis.conf

另开一个 Terminal:

1
redis-cli ping

成功信号:

1
PONG

注意:Redis 官方文档说明这个 cask 安装方式不集成 brew services。如果你看到旧教程使用 brew install redisbrew services start redis,要意识到它可能对应旧版本或 Homebrew core 公式。

6. Redis 常用命令

1
redis-cli

进入后:

1
2
3
4
5
6
PING
SET hello world
GET hello
DEL hello
INFO server
QUIT

Redis 默认端口是 6379。

开发阶段你可以先不设置密码,但不要把无密码 Redis 暴露到公网。

7. 安装数据库客户端

推荐选一个,不要全装:

客户端 特点 安装
DBeaver 免费、跨平台、支持多数据库 brew install --cask dbeaver-community
TablePlus 体验好、商业软件 brew install --cask tableplus
Postico macOS 原生、PostgreSQL 体验好 brew install --cask postico
Redis Insight Redis 官方 GUI 见 Redis 官网

如果你是新手,DBeaver 免费且够用;如果你长期在 macOS 上写项目,TablePlus 或 Postico 体验更好。

连接 PostgreSQL:

1
2
3
4
5
Host: localhost
Port: 5432
User: fullstack
Password: fullstack
Database: fullstack

8. 给 FastAPI 准备连接串

后端 .env.example 可以写:

1
2
DATABASE_URL=postgresql://fullstack:fullstack@localhost:5432/fullstack
REDIS_URL=redis://localhost:6379/0

解释:

  • postgresql://:协议;
  • fullstack:fullstack:用户名和密码;
  • localhost:5432:主机和端口;
  • /fullstack:数据库名;
  • redis://localhost:6379/0:Redis 第 0 号库。

.env 放真实值,.env.example 放示例值。

9. 本机安装 vs Docker 安装

方式 优点 缺点
本机安装 容易理解命令,性能好,GUI 连接直观 版本切换、清理、团队一致性较差
Docker Compose 项目可复现,团队一致,易清理 初学者要理解容器、卷、网络

建议:先本机跑通,再用 Docker Compose 重建一遍。

10. 常见错误与解决

psql: command not found

检查:

1
2
3
brew list postgresql
brew info postgresql
which psql

如果安装的是 postgresql@17,需要按 Homebrew 提示把对应路径加入 PATH。

connection refused

说明 PostgreSQL 服务没在监听。

检查:

1
2
brew services list
lsof -i :5432

启动服务:

1
brew services start postgresql

或者对应版本:

1
brew services start postgresql@17

password authentication failed

检查连接串里的用户名、密码、数据库名。学习阶段可以重新进入 psql postgres 修改密码:

1
ALTER USER fullstack WITH PASSWORD 'fullstack';

redis-cli ping 没有 PONG

检查 Redis 服务是否启动。若你使用官方 cask 方式,需要手动运行:

1
redis-server $(brew --prefix)/etc/redis.conf

另开终端再执行:

1
redis-cli ping

5432 或 6379 被占用

检查:

1
2
lsof -i :5432
lsof -i :6379

不要随便杀进程。先看是不是你之前安装的数据库服务、Docker 容器或 GUI 客户端启动了服务。

验证方式

最终检查:

1
2
3
4
psql --version
brew services list
psql "postgresql://fullstack:fullstack@localhost:5432/fullstack" -c "SELECT version();"
redis-cli ping

成功时:

  • PostgreSQL 返回版本;
  • Redis 返回 PONG
  • GUI 客户端能连接 fullstack 数据库。

可直接交给 Codex 的 Prompt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
你是我的 macOS 数据库环境检查助手。请只检查和给建议,不要删除数据。

目标:
确认 PostgreSQL、Redis 和数据库客户端是否能用于本地全栈开发。

请检查:
1. psql 版本和路径。
2. Homebrew PostgreSQL 服务状态。
3. fullstack 数据库和 fullstack 用户是否存在。
4. 是否能用连接串连接数据库。
5. Redis 是否能返回 PONG。
6. 给出 FastAPI 可用的 DATABASE_URL 和 REDIS_URL 示例。

约束:
- 不要删除数据库、用户或数据目录。
- 不要运行 DROP DATABASE。
- 不要输出真实密码,只用示例值。

参考来源

修改记录

  • 新增 PostgreSQL、Redis 与数据库客户端安装教程。