Last active
November 13, 2022 00:16
-
-
Save momoseijin/9d1c22213376276dd4b1db3994412e5a to your computer and use it in GitHub Desktop.
Upgrade PostgreSQL 9.5 to 10 , Mastodon on Ubuntu 16.04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Mastodon を止める | |
systemctl stop mastodon-{web,sidekiq,streaming}.service | |
#まず PostgreSQL のリポジトリを追加して、アップデートする | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | |
sudo apt update | |
#今回は PostgreSQL 10 にするのでバージョンを指定してインストール | |
sudo apt install postgresql-10 postgresql-client-10 postgresql-contrib-10 | |
#インストールされたか確認、下記をすると今インストールされているものが出る | |
dpkg -l | grep postgresql | |
#下記のような表示で、両方入った状態が確認できるはず | |
ii postgresql | |
ii postgresql-9.5 | |
ii postgresql-10 | |
ii postgresql-client-9.5 | |
ii postgresql-client-10 | |
ii postgresql-client-common | |
ii postgresql-common | |
ii postgresql-contrib | |
ii postgresql-contrib-9.5 | |
#確認したら下記をしてクラスタを確認 | |
pg_lsclusters | |
#下記のように 2 つの PostgreSQL が見えるはず | |
Ver Cluster Port Status Owner Data directory Log file | |
9.5 main 5432 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log | |
10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log | |
#このときは 10 の接続先が 5433 になっていて、まだ 9.5 が通常ポートの 5432 につながった状態 | |
#次にインストール先の 10 を止めて、PostgreSQL もとめてアップグレード開始 | |
sudo pg_dropcluster 10 main --stop | |
sudo service postgresql stop | |
sudo pg_upgradecluster 9.5 main | |
#何もエラーが出なければ DB の移行がはじまる。まあまあ時間かかる。(うちではエラーでなかったのでどんなエラー出るかはわかりません) | |
#終わったら再度確認 | |
pg_lsclusters | |
#すると 10 のほうがポートが 5432 になっているはず | |
Ver Cluster Port Status Owner Data directory Log file | |
9.5 main 5433 offline postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log | |
10 main 5432 offline postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log | |
#PostgreSQL を再起動してバージョンが 10 になっているか確認 | |
sudo service postgresql restart | |
psql --version | |
#9.5 を削除 | |
sudo pg_dropcluster 9.5 main | |
#最後に Mastodon をリスタート | |
systemctl restart mastodon-{web,sidekiq,streaming}.service |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This guide is awesome! Thank you so much. 🥇