Google Cloud SQL

PostgreSQL Checkpoint Logs Disabled

Ensures that log_checkpoints flag is enabled for PostgreSQL instances. 

Risk Level: Low

Description

This plugin makes sure the log_checkpoints flag is set to on in all PostgreSQL database instances. This parameter is useful if you want the server log to include all checkpoints and restart points. The number of buffers written and the time spent writing them are also included in these logs. This flag is turned off by default.

About the Service

Google Cloud SQL:

Google Cloud SQL is a relational database for MySQL, PostgreSQL, and SQL Server that is fully managed. It automates database provisioning, storage capacity management, replication, and backups while lowering maintenance costs. It can be set up easily using the built-in migration tools and lets you scale your instances effortlessly. To know more about Cloud SQL, read here

Impact

If the log_checkpoints flag is not set to on, all the checkpoints will not be logged and thus the query and error logs will not be generated. These logs are extremely helpful for troubleshooting, fixing errors, and optimizing performance.

Steps to Reproduce

Using GCP Console-

  1. Log In to your GCP Console.
  2. From the top navigation bar, select the GCP project you want to investigate.
  3. From the navigation panel on the left side of the console, go to SQL. You can use this link here to navigate directly if you’re already logged in.
  4. Set Type to PostgreSQL in the Filter box to only see PostgreSQL database instances.
  5. Select the ID of the SQL instance you want to investigate from the list of instances available and click on the OVERVIEW tab to check the configuration settings of the selected instance.
  6. In the Database flags section under Configuration, check the configuration of log_checkpoints. If it is set to off or if there is no log_checkpoints flag set then the log_checkpoints flag is disabled for the selected SQL instance.

    (or)
  7. Repeat steps 5 and 6 for all the SQL instances you want to investigate in the selected project.
  8. If you have multiple projects, repeat steps 2 to 7 for each project in your GCP Console. 

Steps for Remediation

Determine whether or not you truly require checkpoint logs to be disabled for your SQL instances. If not, make the necessary changes to enable it using the steps below.


Using GCP Console-

  1. Log In to your GCP Console.
  2. From the top navigation bar, select the GCP project you want to investigate.
  3. From the navigation panel on the left side of the console, go to SQL. You can use this link here to navigate directly if you’re already logged in.
  4. Set Type to PostgreSQL in the Filter box to only see PostgreSQL database instances.
  5. Select the ID of the SQL instance you want to reconfigure in the list of instances available. (In case you aren’t sure which SQL instance needs to be configured, follow the steps to reproduce listed above to determine which to choose.)
  6. Go to the OVERVIEW tab and click on the Edit button found on the top navigation bar.

  7. Under the Configuration section, click on Flags and set the status of log_checkpoints to on. Click the SAVE button to save all the changes.
    Note: If you do not find the log_checkpoints flag, click on the Add item button, choose log_checkpoints from the dropdown list provided and set the status to on.
  8. Repeat steps 5 to 7 for all the SQL instances you want to reconfigure in the selected project.
  9. If you have multiple projects, repeat steps 2 to 8 for each project in your GCP console.