4.3.6 Ensure Server Parameter 'log_retention_days' is greater than 3 days for PostgreSQL Database Server

Information

Ensure log_retention_days on PostgreSQL Servers is set to an appropriate value.

Rationale:

Configuring log_retention_days determines the duration in days that Azure Database for PostgreSQL retains log files. Query and error logs can be used to identify, troubleshoot, and repair configuration errors and sub-optimal performance.

Impact:

Configuring this setting will result in logs being retained for the specified number of days. If this is configured on a high traffic server, the log may grow quickly to occupy a large amount of disk space. In this case you may want to set this to a lower number.

Solution

From Azure Portal

From Azure Home select the Portal Menu.

Go to Azure Database for PostgreSQL servers.

For each database, click on Server parameters.

Search for log_retention_days.

Input a value between 4 and 7 (inclusive) and click Save.

From Azure CLI
Use the below command to update log_retention_days configuration.

az postgres server configuration set --resource-group <resourceGroupName> --server-name <serverName> --name log_retention_days --value <4-7>

From Powershell
Use the below command to update log_retention_days configuration.

Update-AzPostgreSqlConfiguration -ResourceGroupName <ResourceGroupName> -ServerName <ServerName> -Name log_retention_days -Value <4-7>

Default Value:

By default log_retention_days is set to 3.

See Also

https://workbench.cisecurity.org/benchmarks/12346