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 playgroundCREATE 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