fix(deploy): 修正 PG18 数据卷挂载路径为 /var/lib/postgresql

docker-library/postgres 自 18 起把数据目录改成 /var/lib/postgresql/<major>/,
卷继续挂 /var/lib/postgresql/data 会被 entrypoint 判定为"残留数据"并拒绝启动;
表现为 db 容器反复 Restarting,依赖它的三个服务一起起不来。

改挂父目录后本地实测:docker compose up -d 正常,db 进入 healthy。
This commit is contained in:
Zhou Weidong committed 2026-10-16 14:32:24 +08:00
1 parent 7dd4b15804
commit 8b46e535c5
1 file changed
+2 -1
+2 -1
View File
@@ -24,7 +24,8 @@ services:
# 中文与印尼语内容需要 UTF-8(镜像默认已是 UTF8,这里显式一次)
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
volumes:
- db-data:/var/lib/postgresql/data
# PostgreSQL 18 起镜像把数据放在 /var/lib/postgresql/<major>/,卷必须挂到父目录
- db-data:/var/lib/postgresql
# 首次启动自动建表 + 造种子数据;顺序即文件名顺序(脚本本身幂等,可重复执行)
- ./sql/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro
- ./sql/schema-phase1.sql:/docker-entrypoint-initdb.d/02-schema-phase1.sql:ro