pgautoupgrade:数据库升级
约 339 字大约 1 分钟...
我经常用到 PostgreSQL 数据库,但官方的 Docker PostgreSQL 镜像无法跨版本升级,造成部分服务受限与数据库版本而无法更新。推荐使用 pgautoupgrade 的 oneshot 功能,能够一次性进行 PostgreSQL 的多版本大规模升级。
升级步骤
- 停止容器服务,并将 Docker Postgres 数据卷
~/postgres/data/
备份到其他位置。 - 运行以下命令以升级 PostgreSQL 数据库。请注意替换
source
为本地数据库路径,最后一行指定要使用的 PostgreSQL 版本。 - 更新
docker-compose.yml
中 PostgreSQL 的版本,测试升级是否成功。
升级成功后注意删除容器 pgauto,避免影响其他应用的升级。
参考命令
默认的官方 Docker PostgreSQL 镜像基于 Debian Linux,而 pgautoupgrade 镜像则基于 Alpine Linux。因此,使用官方镜像时 (如:n8n),建议选择 16-bookworm
进行升级。
请注意,pgautoupgrade 使用的默认数据库名和用户名均为 postgres。如果你进行了修改,请确保在环境中相应更新。
TTRSS 数据库升级
sudo docker run --name pgauto -it \
--mount type=bind,source=/volume1/docker/postgres/data,target=/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=YOURPASSWORD \
-e PGAUTO_ONESHOT=yes \
pgautoupgrade/pgautoupgrade:16-alpine
n8n 数据库升级
sudo docker run --name pgauto -it \
--mount type=bind,source=/volume1/docker/n8n/db,target=/var/lib/postgresql/data \
-e POSTGRES_DB=n8n \
-e POSTGRES_USER=rockben \
-e POSTGRES_PASSWORD=changePassword \
-e PGAUTO_ONESHOT=yes \
pgautoupgrade/pgautoupgrade:16-bookworm
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
Powered by Waline v3.3.2