説明
log_duration は、完了した SQL 文の所要時間を記録します。無効にするとこの記録は残りませんが、別のスロークエリログや性能ツールから時間の情報を得られる場合もあります。log_duration だけを有効にしても、SQL 文そのものが自動的に記録されるわけではありません。
想定される影響
- 実行時間の記録が不足すると、性能低下の時点や原因を調べにくくなります。
- 適切な代替の測定手段がない場合、クエリ最適化の効果を比較しにくくなります。
対処方法
- すべての文の実行時間が必要な場合は、利用中のサービスで
log_durationをonにしてください。 - 遅い文だけが必要な場合は、要件に合う
log_min_duration_statementのしきい値を検討してください。 - ログ量と性能への影響を測定してください。SQL 文も記録する場合は、機密情報とログへのアクセス権を管理してください。
例
最初の例は、2025 年 3 月 28 日に提供が終了した Single Server 用です。次の例は、azure.azcollection 3.18.0 以降で既存の Flexible Server に適用する設定の抜粋です。
変更前
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_duration
value: "off"
log_duration による実行時間の記録を無効にしています。ほかの性能測定ツールを無効にする設定ではありません。
変更後
yaml
- name: PostgreSQL 설정 변경
azure.azcollection.azure_rm_postgresqlflexibleconfiguration:
resource_group: myResourceGroup
server_name: myServer
name: log_duration
value: "on"
完了した文の所要時間を記録します。記録量と収集コストを確認し、必要な保持期間を設定してください。