このトピックでは、ApsaraDB RDS for PostgreSQLインスタンスのメジャーエンジンバージョンアップのチェックレポートについて説明します。 このトピックでは、レポートに含まれる一般的なエラーと、これらのエラーの解決策についても説明します。
RDSインスタンスがアップグレードチェックに失敗したことがレポートで示された場合は、ApsaraDB RDSコンソールにログインし、[メジャーバージョンのアップグレード]
ページに移動し、[レポートコンテンツ] 列の [情報の表示] をクリックして障害の詳細を表示します。 レポートには、次のチェック項目が含まれます。
説明 主要なエンジンバージョンのアップグレードの詳細については、「Upgrade the major engine version of an ApsaraDB RDS for PostgreSQL instance」をご参照ください。
user_check_report
この項目は、スーパーユーザーアカウントがバックグラウンドで作成されているか、標準アカウントに無効な暗号化方法が設定されているかを確認するために使用されます。
エラーメッセージ | 考えられる原因 | ソリューション |
---|---|---|
無効なスーパーユーザー: ["user_01"] | スーパーユーザーアカウントが見つかりました。 このアカウントを使用してRDSインスタンスに接続する場合、RDSインスタンスに設定されている読み取り専用属性は無効です。 その結果、アップグレードの実行後にRDSインスタンスのデータが変更されます。 | スーパーユーザーアカウントを削除するには、 ticketを送信してAlibaba Cloudテクニカルサポートに連絡する必要があります。 |
无効なユーザー: ["user_02"] | 標準アカウントが異常状態です。 アップグレード後、このアカウントを使用して接続を確立することはできません。 | 異常なアカウントのパスワードをリセットします。 |
pg_upgrade_internal.log
この項目は、新しいメジャーエンジンバージョンがRDSインスタンスのプラグインと互換性があるかどうかを確認するために使用されます。
エラーメッセージ | 考えられる原因 | ソリューション |
---|---|---|
問題ライブラリのリストがファイルにあります: loadable_libraries.txt | 新しいメジャーエンジンバージョンと互換性のないプラグインは、loadable_libraries.txtファイルにあります。 | loadable_libraries.txtファイルにリストされているプラグインを確認し、一部のプラグインを削除する必要があるかどうかを評価します。 プラグインを削除する必要がある場合は、アップグレードの前にプラグインを削除することを推奨します。 プラグインを削除する前に、プラグインなしでRDSインスタンスが期待どおりに実行できることを確認してください。 詳細については、「サポートされるプラグイン」をご参照ください。 |
問題のあるテーブルのリストがファイルにあります: tables_with_oids.txt | 一部のテーブルは、with OIDS 句を指定して作成されます。 この句は、PostgreSQL 12以降のバージョンではサポートされていません。
|
|
pg_upgrade_server.log
この項目は、RDSインスタンスで有効になっているログの種類を確認するために使用されます。
loadable_libraries.txt
この項目は、新しいメジャーエンジンバージョンと互換性のないライブラリをチェックするために使用されます。 これらのライブラリに基づいて、互換性のないプラグインを特定できます。
エラーメッセージ | 考えられる原因 | ソリューション |
---|---|---|
ライブラリ "$libdir/pgrouting-2.6.2" をロードできませんでした: ERROR: ファイル "$libdir/pgrouting-2.6.2" にアクセスできませんでした: そのようなファイルやディレクトリがありません | pgroutingプラグインは、新しいメジャーエンジンバージョンと互換性がありません。 | loadable_libraries.txtファイルにリストされているプラグインを確認し、一部のプラグインを削除する必要があるかどうかを評価します。 プラグインを削除する必要がある場合は、アップグレードの前にプラグインを削除することを推奨します。 プラグインを削除する前に、プラグインなしでRDSインスタンスが期待どおりに実行できることを確認してください。 詳細については、「サポートされるプラグイン」をご参照ください。 |
ライブラリ "$libdir/jsonbx" をロードできませんでした: ERROR: ファイル "$libdir/jsonbx" にアクセスできませんでした: そのようなファイルやディレクトリがありません | 一部のJSONデータ型は、PostgreSQL 9.4でサポートされていません。 すべてのJSONデータ型をサポートするには、jsonbxプラグインを有効にする必要があります。 PostgreSQL 10以降のバージョンは、すべてのJSONデータ型をサポートしています。 RDSインスタンスがPostgreSQL 10以降のバージョンを実行している場合、jsonbxプラグインを有効にする必要はありません。 | 新バージョンのメジャーエンジンでjsonbx部品が使用している機能を確認し, 部品の削除が必要かどうかを評価してください。 プラグインを削除する必要がある場合は、アップグレードの前にプラグインを削除することを推奨します。 プラグインを削除する前に、プラグインなしでRDSインスタンスが期待どおりに実行できることを確認してください。 詳細については、「jsonbxプラグイン関数の違いの使用」をご参照ください。 |
|
|
重要 postgisプラグインは、データベースエンジンのバージョンによって異なります。 たとえば、このプラグインは、さまざまなデータベースエンジンバージョンのWKT形式に関連するさまざまな解析エラーを報告します。
このプラグインを更新する前に、RDSインスタンスのクローンを作成することを推奨します。 クローン化されたRDSインスタンスを使用して、このプラグインと新しいメジャーエンジンバージョンの互換性をテストできます。
このプラグインが新しいエンジンバージョンと互換性があることを確認したら、元のRDSインスタンスのこのプラグインを新しいメジャーエンジンバージョンに更新できます。 詳細については、「RDS PostgreSQL インスタンスのデータのバックアップ」および「ApsaraDB RDS for PostgreSQLインスタンスのデータを復元する」をご参照ください。
|
jsonbxプラグインで使用される一部の関数は、異なるPostgreSQLバージョンで異なる結果を返す場合があります。 次の表に、結果の違いを示します。 アップグレードを実行する前に、jsonbxプラグインを削除する必要があるかどうかを評価する必要があります。
機能 | PostgreSQL 9.4で結果を返す | PostgreSQL 10以降のバージョンで結果を返す |
---|---|---|
select '{"a":1, "b":2, "c":3}'::jsonb - 2; | {"a": 1, "b": 2} | エラー: 整数インデックスを使用してオブジェクトから削除できません |
select jsonb_delete('{"a":1, "b":2, "c":3}'::jsonb, '{b}'::text[]); | {"a": 1, "c": 3} | エラー: 関数jsonb_delete(jsonb, text[]) が存在しません |
select '{"a":{"c":1, "d":2}, "b":3}'::jsonb - '{a, c}'::text[]; | {"a": {"d": 2}, "b": 3} | null |
tables_with_oids.txt
このアイテムは、with OIDS
句で作成されたテーブルを表示するために使用されます。