Azure Database for PostgreSQL でメジャーバージョンアップグレードのログ機能が追加されたので確認してみた

2024.03.17

いわさです。

先日のアップデートで Azure Database for PostgreSQL でメジャーバージョンアップグレード時のログが取得出来るようになりました。

出力設定やメジャーバージョンアップグレードの流れを紹介したいと思います。

サーバーログを有効化する必要がある

前提として Azure Database for PostgreSQL はサーバーログの出力機能がオプションで用意されており、そちらを先に有効化しておく必要があります。
サーバーログメニューから「ダウンロードサーバーのログ」を有効化しましょう。

本日時点では 16 へのアップグレードはまだサポートされていない

メジャーバージョンのアップグレードは概要メニューから「アップグレード」ボタンを押下することで開始出来ます。
以下は PostgreSQL 15.5 の場合です。やってみましょう。

しかし、アップグレードダイアログでは「利用可能な最新メジャーPostgreSQLバージョンが既に実行されています。」と表示されてしまいました。

今回知ったのですが、Azure Database for PostgreSQL は本日時点では残念ながらまだ 15 から 16 へのインプレースアップグレードをサポートしていないようです。なんてこったい。

In-place major version upgrade doesn't yet support upgrading to version 16, our team is actively working on this feature.

アップグレード元を 14 で再作成した場合は 15 へのアップグレードを選択することが出来ました。
今回は 14 から 15 へのアップグレードで試してみることに。

数十分経過後にインプレースアップグレードが完了しました。
15.5 にアップグレードされていることを確認しました。

ログを確認してみるが...

さて本題のログが出力されているかを確認してみましょう。
冒頭有効化サーバーログを探しに行きます。

おお、ありました!
「pg_upgrade15_yyyy-MM-dd-HH-mm-ss.tar.gz」というログ・ファイルが出力されています。
他のファイルは通常のログなので、おそらくこいつでしょう。

通常のログファイルは.logファイルとして出力されていますが、メジャーバージョンアップグレードログは.tar.gzなのですね。

こちらダウンロードしてローカルで参照してみたのですが、結論から言うと私の環境では閲覧することが出来ませんでした。
様々なファイル解凍方法や、バイナリファイルの形式判定などを試してみましたが、不正なバイナリだと判断されました。

可能性としては、機能がまだ不完全で不正なバイナリデータが出力されてしまっている。
あるいはもうひとつありそうなのが、私が認識していなくて実は特殊なファイル形式となっていて、参照するためには専用のクライアントが必要というパターンです。
前者のような気はしているのですが、この機能を試した方は是非閲覧出来たか教えてください。
数週間後にまたこの機能は試してみたいと思います。

実際にはここでダウンロードしたログファイルの内容を確認し、アップグレード失敗時のトラブルシューティングなどに役立てることが出来るそうです。

さいごに

本日は Azure Database for PostgreSQL でメジャーバージョンアップグレードのログ機能が追加されたので確認してみました。
GA ということで問題なく使えるようになってるはずだということで早速試してみました。

結論としては私の設定が不足していたのか、あるいは特殊なクライアントが必要だったのかわからないですが、ダウンロードしたログファイルの内容を確認することが出来ませんでした。

プレーンなログを期待していたのですが。
出力自体はされるのでそのうちファイル形式が修正される可能性もあるかなと思っています。