Control: Enable log_checkpoints on PostgreSQL Servers
Description
Ensure server parameter 'log_checkpoints' is set to 'ON' for PostgreSQL Database Server.
Usage
Run the control in your terminal:
powerpipe control run terraform_azure_compliance.control.postgres_db_server_log_checkpoints_on
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_azure_compliance.control.postgres_db_server_log_checkpoints_on --share
SQL
This control uses a named query:
with postgresql_server as ( select * from terraform_resource where type = 'azurerm_postgresql_server'), log_checkpoints_configuration as ( select * from terraform_resource where type = 'azurerm_postgresql_configuration' and (attributes_std ->> 'name') = 'log_checkpoints' and (attributes_std ->> 'value') = 'on')select a.address as resource, case when (s.attributes_std ->> 'server_name') is not null then 'ok' else 'alarm' end as status, split_part(a.address, '.', 2) || case when (s.attributes_std ->> 'server_name') is not null then ' server parameter log_checkpoints on' else ' server parameter log_checkpoints off' end || '.' reason , a.path || ':' || a.start_linefrom postgresql_server as a left join log_checkpoints_configuration as s on a.name = (split_part((s.attributes_std ->> 'server_name'), '.', 2));