PostgreSQL log checkpoints disabled
This product is not supported for your selected
Datadog site. (
).
Id: 3790d386-be81-4dcf-9850-eaa7df6c10d9
Cloud Provider: azure
Framework: Terraform
Severity: Medium
Category: Observability
Learn More
Description
The PostgreSQL log_checkpoints
parameter controls whether checkpoint activities are logged, which is critical for monitoring and troubleshooting database performance and reliability. If log_checkpoints
is set to off
, important information about checkpoint events will not be recorded, making it more difficult to detect or respond to potential issues or attacks. To mitigate this risk, the parameter should be enabled, as shown below:
resource "azurerm_postgresql_configuration" "secure_example" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "on"
}
Failing to enable this logging may leave administrators unaware of problems that can impact data durability or signal malicious activity, increasing the risk of unnoticed outages or data loss.
Compliant Code Examples
resource "azurerm_postgresql_configuration" "negative1" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "on"
}
resource "azurerm_postgresql_configuration" "negative2" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "On"
}
resource "azurerm_postgresql_configuration" "negative3" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "ON"
}
Non-Compliant Code Examples
resource "azurerm_postgresql_configuration" "positive1" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "off"
}
resource "azurerm_postgresql_configuration" "positive2" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "Off"
}
resource "azurerm_postgresql_configuration" "positive3" {
name = "log_checkpoints"
resource_group_name = data.azurerm_resource_group.example.name
server_name = azurerm_postgresql_server.example.name
value = "OFF"
}