🐡
Fly.ioのPostgreSQLをバージョンアップ
1年ほど前にFly.ioにデプロイしたアプリがあり、アプリの各種ライブラリはアップデートしていたのですが、PostgreSQLのアップデートをしていないことに気づいて、その方法を調べました。
PostgreSQLの現在のバージョンを確認
以下のコマンドを実行してPostgreSQLの現在のバージョンを確認します。
fly image show --app <postgres-app-name>
Updates available:
Machine "abcdefghijklmn" flyio/postgres-flex:15.3 (v0.0.43) -> flyio/postgres-flex:15.8 (v0.0.62)
Run `flyctl image update` to migrate to the latest image version.
Image Details
MACHINE ID REGISTRY REPOSITORY TAG VERSIONDIGEST LABELS
abcdefghijklmn registry-1.docker.io flyio/postgres-flex 15.3 v0.0.43sha256:e5882c1841195860fb002e4eebfb84b47afbf193e0c7bd739dfd1056ef7c6b62 fly.app_role=postgres_clusterfly.pg-manager=repmgrfly.pg-version=15.3-1.pgdg120+1fly.version=v0.0.43
PostgreSQLをバージョンアップ
以下のコマンドを実行すると確認のダイアログが表示され、その後にPostgreSQLがバージョンアップされます。
fly image update --app <postgres-app-name>
The following changes will be applied to all Postgres machines.
Machines not running the official Postgres image will be skipped.
... // 91 identical lines
}
},
- "image": "registry-1.docker.io/flyio/postgres-flex:15.3@sha256:e5882c1841195860fb002e4eebfb84b47afbf193e0c7bd739dfd1056ef7c6b62",
+ "image": "docker-hub-mirror.fly.io/flyio/postgres-flex:15.8@sha256:5016ffb34e66eca43d4f9ef2f898c166257bd28bd5095c41d049a5e3be15caf5",
"restart": {
"policy": "on-failure",
... // 3 identical lines
? Apply changes? Yes
Identifying cluster role(s)
Machine abcdefghijklmn: primary
Updating machine abcdefghijklmn
Waiting for abcdefghijklmn to become healthy (started, 3/3)
Machine abcdefghijklmn updated successfully!
Discussion