DB/PostgreSQL/VersionUp
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-2016年以来使ってなかったが必要に迫られてバージョンアップ...
#contents
*バージョンアップ手法をバックアップ手段ごとに検証 [#k7be4...
**pg_upgrade [#f81e2220]
-流用できるファイルシステムを極力利用して、アップグレード...
-一番早いらしい
**試してみた。移行先のディレクトリは空である必要がある。 ...
docker run --rm -v /var/lib/docker/volumes/sonarqube_pos...
**pg_dumpall [#m76c28a0]
-昔からの定番
-テキストで出力できるので、中身がわかりやすい。
**ファイルシステムごとバックアップ [#c76eda66]
-メジャーバージョンが違うと使えない。
***Docker上のファイルシステムをバックアップ [#w21f74bd]
-sonarqube_postgresql_dataボリュームをローカルの/var/tmp...
sudo docker run --rm -v sonarqube_postgresql_data:/var/l...
-ボリュームを削除して作成し直す
sudo docker run --rm -v sonarqube_postgresql_data:/var/l...
*Docker上でのバージョンアップ [#k3dd80ab]
**docker-postgres-upgrade [#w52d5b13]
https://qiita.com/y-amadatsu/items/2d43ce49c77f1f1df434
物理ディレクトリに対してpg_upgradeを実行する。
docker run --rm -e PGUSER=sonar -e POSTGRES_INITDB_ARGS=...
-v /var/lib/docker/volumes/sonarqube_postgresql_data/...
-v /var/lib/docker/volumes/sonarqube_postgresql_data_...
tianon/postgres-upgrade:9.6-to-13
**pg_dumpall/psql [#t692a976]
https://betterprogramming.pub/how-to-upgrade-your-postgre...
まとめると
+旧コンテナーでdump
+旧コンテナーのボリューム削除(切り戻し考えると残しても良...
+新コンテナ立ち上げ
+新コンテナにdump流し込む
**実際に検証した [#j2f3088b]
# 旧DBからデータをdump
docker-compose exec db pg_dumpall -U sonar > dump.sql
# volume消してバージョンアップ実施
# 新サーバーでsonarのDBを消す(ある場合)
sonarqube止める。
psql -U sonar -d postgres
drop database sonar
CREATE DATABASE sonar WITH TEMPLATE = template0 ENCODING...
# 新サーバーにdumpを流し込む(docker-composeは使えない。D...
cat dump2.sql | docker exec -i コンテナID psql -U sonar...
# mariadbでも試してみた
cat mysqldump.sql | sudo docker exec -i 11c75385bdad mys...
終了行:
-2016年以来使ってなかったが必要に迫られてバージョンアップ...
#contents
*バージョンアップ手法をバックアップ手段ごとに検証 [#k7be4...
**pg_upgrade [#f81e2220]
-流用できるファイルシステムを極力利用して、アップグレード...
-一番早いらしい
**試してみた。移行先のディレクトリは空である必要がある。 ...
docker run --rm -v /var/lib/docker/volumes/sonarqube_pos...
**pg_dumpall [#m76c28a0]
-昔からの定番
-テキストで出力できるので、中身がわかりやすい。
**ファイルシステムごとバックアップ [#c76eda66]
-メジャーバージョンが違うと使えない。
***Docker上のファイルシステムをバックアップ [#w21f74bd]
-sonarqube_postgresql_dataボリュームをローカルの/var/tmp...
sudo docker run --rm -v sonarqube_postgresql_data:/var/l...
-ボリュームを削除して作成し直す
sudo docker run --rm -v sonarqube_postgresql_data:/var/l...
*Docker上でのバージョンアップ [#k3dd80ab]
**docker-postgres-upgrade [#w52d5b13]
https://qiita.com/y-amadatsu/items/2d43ce49c77f1f1df434
物理ディレクトリに対してpg_upgradeを実行する。
docker run --rm -e PGUSER=sonar -e POSTGRES_INITDB_ARGS=...
-v /var/lib/docker/volumes/sonarqube_postgresql_data/...
-v /var/lib/docker/volumes/sonarqube_postgresql_data_...
tianon/postgres-upgrade:9.6-to-13
**pg_dumpall/psql [#t692a976]
https://betterprogramming.pub/how-to-upgrade-your-postgre...
まとめると
+旧コンテナーでdump
+旧コンテナーのボリューム削除(切り戻し考えると残しても良...
+新コンテナ立ち上げ
+新コンテナにdump流し込む
**実際に検証した [#j2f3088b]
# 旧DBからデータをdump
docker-compose exec db pg_dumpall -U sonar > dump.sql
# volume消してバージョンアップ実施
# 新サーバーでsonarのDBを消す(ある場合)
sonarqube止める。
psql -U sonar -d postgres
drop database sonar
CREATE DATABASE sonar WITH TEMPLATE = template0 ENCODING...
# 新サーバーにdumpを流し込む(docker-composeは使えない。D...
cat dump2.sql | docker exec -i コンテナID psql -U sonar...
# mariadbでも試してみた
cat mysqldump.sql | sudo docker exec -i 11c75385bdad mys...
ページ名: