PostgreSQLのCollation警告を直しとく

Metasploitを久々に使おうとしたら、こんな感じで、「OSの照合順序のバージョンと、PostSQLの照合順序のバージョンが違うよ」って警告が出た。ちなみに、これはMetasploitが出しているのではなく、psql を実行すると出るので、PostgreSQL が出しているもの。

WARNING:  データベース"msf"で照合順序バージョンの不一致が起きています
DETAIL:  データベースは照合順序バージョン2.37で作成されていますが、オペレーティングシステムはバージョン2.38を提供しています。
HINT:  このデータベース内でデフォルトの照合順序を使用している全てのオブジェクトを再構築して、ALTER DATABASE msf REFRESH COLLATION VERSIONを実行するか、正しいバージョンのライブラリを用いてPostgreSQLをビルドしてください。
psql (16.2 (Debian 16.2-1))
SSL接続(プロトコル: TLSv1.3、暗号化方式: TLS_AES_256_GCM_SHA384、圧縮: オフ)
"help"でヘルプを表示します。

とはいえ、Metasploit が勝手にインストールしたPostgreSQL なので、クレデンシャル情報を確認。

$ sudo cat /usr/share/metasploit-framework/config/database.yml

ここに接続情報が書いてある。パスワードはbase64ぽい形式をしているが、そのままコピペでOKだった。

$ psql -U msf -h localhost msf
> パスワード入力

以下のSQLを実行して、msf データベースのみ、OSのバージョンと合わせる。

msf=> ALTER DATABASE msf REFRESH COLLATION VERSION;
NOTICE:  バージョン2.37から2.38への変更
ALTER DATABASE

これで完了。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です