Description:
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.
Audit:
From Azure Portal
1. From Azure Home select the Portal Menu.
2. Go to Azure Database for PostgreSQL servers.
3. For each database, click on Server parameters.
4. Search for log_retention_days.
5. Ensure that the value is between 4 and 7 (inclusive).
From Azure CLI
Ensure log_retention_days value is greater than 3.
az postgres server configuration show --resource-group <resourceGroupName> --
server-name <serverName> --name log_retention_days
From Powershell
Ensure log_retention_days value is greater than 3.
Get-AzPostgreSqlConfiguration -ResourceGroupName <ResourceGroupName> -
ServerName <ServerName> -Name log_retention_days
Remediation:
From Azure Portal
1. From Azure Home select the Portal Menu.
2. Go to Azure Database for PostgreSQL servers.
3. For each database, click on Server parameters.
4. Search for log_retention_days.
5. 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.
References:
1. https://docs.microsoft.com/en-us/azure/postgresql/howto-configure-serverparameters-using-portal
2. https://docs.microsoft.com/enus/rest/api/postgresql/singleserver/configurations/list-by-server