Amazon Aurora PostgreSQL 互換エディション DB インスタンスの SQL テキスト全体を Performance Insights からダウンロードしたいと考えています。
簡単な説明
Aurora PostgreSQL 互換の Performance Insights のテキスト処理は、Aurora MySQL 互換などの他のエンジンタイプとは異なります。デフォルトでは、Performance Insights ダッシュボードの [上位の SQL] タブの各行には、各 SQL ステートメントの 500 バイトの SQL テキストが表示されます。SQL ステートメントが 500 バイトを超えると、[上位の SQL] テーブルの下にある [SQL テキスト] セクションにさらに多くのテキストを表示できます。[SQL テキスト] セクションに表示されるテキストの最大長は 4 KB です。SQL ステートメントが 4096 文字を超える場合は、切り捨てられたバージョンが [SQL テキスト] セクションに表示されます。ただし、[上位の SQL] タブの [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 |
解決策
Aurora and Amazon Relational Database Service (Amazon RDS) コンソールを使用して、Performance Insights から 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 テキストを Performance Insights に対して実行すると、Aurora と RDS コンソールには最初の 4 KB のみが表示されます。track_activity_query_size の値を 1 MB 以上に増やしてから、クエリ全体をダウンロードします。この場合、SQL テキストを表示したりダウンロードしたりすると、異なるバイト数が返されます。
Performance Insights ダッシュボードでは、次の手順に従って SQL テキスト全体を表示またはダウンロードできます。
- Aurora と RDS コンソールを開きます。
- ナビゲーションペインで [Performance Insights] をクリックします。
- Performance Insights を表示する DB インスタンスを選択します。
- [Top SQL] タブから、表示する SQL ステートメントを選択します。
- [SQL テキスト] タブで、各 SQL ステートメントの最大 4,096 バイトを表示できます。SQL ステートメントがこの制限内にある場合は、[コピー] をクリックして SQL をコピーします。
- SQL ステートメントが 4,096 より大きい場合、このビューでは切り捨てられます。[ダウンロード] をクリックして SQL 全体をダウンロードします。
注: track_activity_query_size パラメータが、ダウンロードする SQL ステートメントよりも大きい値に設定されていることを確認してください。
関連情報
Aurora PostgreSQL DB クラスターパラメータと DB パラメータの表示
Rebooting an Aurora cluster (Aurora PostgreSQL and Aurora MySQL before version 2.10) (Aurora クラスターの再起動 (バージョン 2.10 より前の Aurora PostgreSQL と Aurora MySQL))