PostgreSQL Field Guide

5 分钟快速开始

用 Docker 启动 PostgreSQL 18,连接、建表并验证持久化

下面的实例仅用于本地学习。密码写在命令行、端口暴露到宿主机都不是生产配置。

启动实例

docker run --name pg-guide \
  -e POSTGRES_PASSWORD=dev-only-password \
  -e POSTGRES_DB=playground \
  -p 5432:5432 \
  -v pg-guide-data:/var/lib/postgresql/data \
  -d postgres:18

等待并检查

docker exec pg-guide pg_isready -U postgres -d playground
docker logs pg-guide --tail 20

看到 accepting connections 再继续。

打开 psql

docker exec -it pg-guide psql -U postgres -d playground
CREATE TABLE notes (
  id bigint GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
  body text NOT NULL CHECK (length(body) > 0),
  created_at timestamptz NOT NULL DEFAULT now()
);

INSERT INTO notes (body) VALUES ('hello, PostgreSQL');
SELECT id, body, created_at FROM notes;

验证持久化

docker restart pg-guide
docker exec pg-guide psql -U postgres -d playground \
  -c "SELECT id, body, created_at FROM notes;"

重启后仍能看到数据,说明命名卷已生效。

连接字符串

宿主机应用使用:

postgresql://postgres:dev-only-password@127.0.0.1:5432/playground

不要把真实密码提交到 Git。生产环境使用 secret manager、最小权限应用角色和 TLS。

清理

docker rm -f pg-guide
docker volume rm pg-guide-data

第二条命令会永久删除练习数据;只在你确认不再需要时执行。

下一步

继续 从这里开始,或者直接学习 数据建模

Last updated on

On this page