Amazon Aurora PostgreSQL 互換版 DB インスタンスの SQL テキスト全体をパフォーマンスインサイトからダウンロードしたいと考えています。
簡単な説明
Aurora PostgreSQL 互換では、パフォーマンスインサイトのテキストは Aurora MySQL 互換などの他のエンジンタイプとは異なる方法で処理されます。デフォルトでは、パフォーマンスインサイトダッシュボードの「トップ SQL」タブの各行には、各 SQL ステートメントの 500 バイトの SQL テキストが表示されます。SQL ステートメントが 500 バイトを超えると、トップ SQL テーブルの下にある SQL テキストセクションにさらに多くのテキストを表示できます。SQL テキストセクションに表示されるテキストの最大長は 4 KB です。SQL 文が 4096 文字を超えると、切り捨てられたバージョンが SQL テキストセクションに表示されます。ただし、SQL テキスト全体は [TOP SQL] タブの [SQL テキスト] セクションからダウンロードできます。
track_activity_query_size DB パラメータは、アクティブなセッションごとに現在実行中のコマンドのテキストを保存するために予約するメモリの量を指定します。これにより、pg_stat_activity クエリ列に表示するクエリの最大長が決まります。SQL ステートメントのテキスト制限サイズを設定し、その制限をデータベースに保存するには、track_activity_query_size パラメータを変更します。このパラメータは、インスタンスまたはクラスターパラメータグループレベルで変更できます。SQL ステートメントのテキスト制限サイズの最小値と最大許容値を参照してください。
| | |
---|
Aurora_Postgres_Version | 最小 | 最大 |
10.x | 100 | 102400 |
11.x | 100 | 102400 |
12.x | 100 | 102400 |
13.x | 100 | 1048576 |
14.x | 100 | 1048576 |
解決方法
Amazon Relational Database Service (Amazon RDS) コンソールを使用して、パフォーマンスインサイトから SQL テキスト全体をダウンロードできます。SQL テキストのフルサイズが track_activity_query_size の値を超える場合は、SQL テキストをダウンロードする前に track_activity_query_size の値を増やしてください。track_activity_query_size パラメータは静的なので、値を変更した後でクラスターを再起動する必要があります。
たとえば、SQL のテキストサイズを 1 MB に設定し、track_activity_query_size をデフォルト値の 4096 バイトに設定できます。この場合、完全な SQL をダウンロードすることはできません。エンジンがパフォーマンスインサイトに SQL テキストを実行すると、Amazon RDS コンソールには最初の 4 KB のみが表示されます。track_activity_query_size の値を 1 MB 以上に増やしてから、クエリ全体をダウンロードしてください。この場合、SQL テキストを表示したりダウンロードしたりすると、返されるバイト数が異なります。
パフォーマンスインサイトダッシュボードでは、次の手順に従って SQL テキスト全体を表示またはダウンロードできます。
1. Amazon RDS コンソールを開きます。
2. ナビゲーションペインで、[Performance Insights] を選択します。
3. パフォーマンスインサイトを表示したい DB インスタンスを選択します。
4. 「トップ SQL」タブから、表示する SQL ステートメントを選択します。
5. 「SQL テキスト」タブでは、各 SQL ステートメントについて最大 4,096 バイトを表示できます。SQL ステートメントがこの制限内に収まる場合は、[コピー] を選択して SQL をコピーします。
6. SQL ステートメントが 4,096 より大きい場合、このビューでは切り捨てられます。[Download] (ダウンロード) を選択してログをダウンロードします。
注: track_activity_query_size パラメータが、ダウンロードする SQL ステートメントよりも大きい値に設定されていることを確認してください。
関連情報
Aurora PostgreSQL DB クラスターと DB パラメータの表示
Aurora クラスターの再起動 (バージョン 2.10 より前の Aurora PostgreSQL と Aurora MySQL)