2024年11月21日のリリースをもって、サポートが終了
そこで、12 → から最新17へのアップグレード
サービスを停止しようとしているのですが、サービスが停止できない。
pgAdmin4からDBへのアクセスはでき、タスクマネージャで見てもPostgreSQLが動いているのが分かる。
仕方ないのでコマンドで停止しようとしても動いていないと言われる始末。
C:\Users\Administrator>net stop postgresql-x64-12
postgresql-x64-12 - PostgreSQL Server 12 サービスは開始されていません。
苦肉の策で、サービスを起動し、postgresql-x64-12を無効にしてサーバ再起動させたらタスクからも消えた
もし、新しいバージョンで何か問題が起こりインストールが進まなかった時のためこのまま残しておく。
postgresql-17.4-1-windows-x64.exe のインストール
デフォルトのまま進めていく
完了
postgresql-x64-17 が実行中となった
今回は、DBのバックアップをとっておき新サーバで復元する形をとった。
pg_upgradeすると、
Checking for presence of required libraries 致命的 このクラスタでは、移行先の環境にはないロード可能ライブラリを参照しています。 これらのライブラリを移行先の環境に追加するか、もしくは移行元の環境から それらを使っている関数を削除してください。 問題のライブラリの一覧は、
といったエラーがでたりして、それはそれで面倒。予め別サーバでPostgreSQL12で作成したDBのバックアップを17で復元できる事を確認し復元に臨む。
DBを作成。バックアップした時と同じDB名で空のデータベースを作成する。
作成したDBを右クリックしリストア
リストア完了
ローカルで利用するだけならパスワード認証できるが、ネットワーク越しにアクセスしようと思うと、pg_hba.confの調整が必要になる。
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
書式はこんな感じで追記し、サービスを再起動する。
許可したネットワークからDBへアクセスできることを確認
元通りテーブル類が戻っているか、レコードはあるか、アプリからアクセス可能かを確認する。
元通り動いている事を確認
PostgreSQL12を削除する
なぜか不明だけどエラーが出る
フォルダをたどってuninstall-postgresql.exeを実行してみる
全て削除するので、Entire application を選択
Uninstalling PostgreSQL
アンインストール後再起動
スタートメニューから12が消えた
プログラムの追加と削除からも12は消えてくれてよかった
フォルダは残ってしまっているので、残骸を処分。12フォルダをゴミ箱へ。
サポート期限が切れたアプリを使うのは怖いですよね。小まめにアップデートしていかないといけません。