Azure PostgreSQL checkpoint logging is disabled

Use Azure PostgreSQL checkpoint logs to investigate write load and performance problems.

Description

Disabling log_checkpoints reduces diagnostic information about checkpoint and restartpoint duration and buffer writes. It does not stop the checkpoints themselves.

Potential impact

Tracing spikes in disk I/O or performance degradation can become harder. Missing operational evidence can delay incident investigation and database tuning.

Remediation

Set log_checkpoints to on on current Flexible Server. Verify actual log collection and retention, and restrict access to the logs. Configure logs for other purposes, such as query auditing, separately.

Examples

The initial excerpt is historical configuration for the retired Single Server service. In the revised excerpt, MyDBServer1 refers to a separately prepared Flexible Server; its parent declaration and data migration are omitted.

Before

bicep
resource MyDBServer1_log_checkpoints 'Microsoft.DBforPostgreSQL/servers/configurations@2017-12-01' = {
  parent: MyDBServer1
  name: 'log_checkpoints'
  properties: {
    value: 'off'
  }
}

Checkpoint diagnostic logging is disabled.

After

bicep
resource MyDBServer1_log_checkpoints 'Microsoft.DBforPostgreSQL/flexibleServers/configurations@2024-08-01' = {
  parent: MyDBServer1
  name: 'log_checkpoints'
  properties: {
    source: 'user-override'
    value: 'on'
  }
}

Checkpoint logging is enabled. After applying the setting, verify that collected logs include duration and write information.

References