Updated on 2024-04-11 GMT+08:00

Viewing and Downloading Slow Query Logs

Scenarios

Slow query logs record statements that exceed the log_min_duration_statement value. You can view log details and statistics to identify statements that are executing slowly and optimize the statements. You can also download slow query logs for service analysis.

RDS supports the following statement types:
  • All statement types
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE
  • DROP
  • ALTER
  • DO
  • CALL
  • COPY

Parameter Description

Table 1 Parameters related to RDS for PostgreSQL slow queries

Parameter

Description

log_min_duration_statement

Specifies how many milliseconds a query has to run before it has to be logged.

If this parameter is set to a smaller value, the number of log records increases, which increases the disk I/O and deteriorates the SQL performance.

log_statement

Specifies the statement type. The value can be none, ddl, mod, or all.

The default value is none. If you change the value to all:

  • The database disk I/O increases, and the SQL performance deteriorates.
  • The log format changes, and you cannot view slow query logs on the console.

log_statement_stats

Specifies whether to generate performance statistics to server logs.

The default value is off. If you change the value to on:

  • The database disk I/O increases, and the SQL performance deteriorates.
  • The log format changes, and you cannot view slow query logs on the console.

Showing Original Logs

  • To disable Show Original Logs on the console, contact customer service. If you want to disable Show Original Log by calling an API, see Showing Original Logs.
  • Original logs will be automatically deleted 30 days later. If the instance is deleted, its logs are also deleted.
  • This function takes effect only for slow query logs generated after it is enabled. Historical slow query logs generated before the function is enabled are not displayed in plaintext.
  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the DB instance name.
  5. In the navigation pane on the left, choose Logs. On the Slow Query Logs page, click Log Details and then click on the right of Show Original Log.

    Figure 1 Enabling Show Original Log

  6. In the displayed dialog box, click Yes to enable the display of original slow query logs.

Viewing Log Details

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target DB instance.
  5. In the navigation pane on the left, choose Logs. On the Slow Query Logs page, click Log Details to view details about slow query logs.

    • You can view the slow query log records of a specified execution statement type or a specific time period.
    • The log_min_duration_statement parameter determines when a slow query log is recorded. However, changes to this parameter do not affect already recorded logs. If log_min_duration_statement is changed from 1,000 ms to 100 ms, RDS starts recording statements that meet the new threshold and still displays the previously recorded logs that do not meet the new threshold. For example, a 1,500 ms SQL statement that was recorded when the threshold was 1,000 ms will not be deleted now that the new threshold is 2,000 ms.
    • Currently, a maximum of 2,000 slow log records can be displayed.

Viewing Statistics

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target DB instance.
  5. In the navigation pane on the left, choose Logs. On the Slow Query Logs page, click Statistics to view details.

    On the Statistics page, only one of the SQL statements of the same type is displayed as an example. For example, if two select sleep(N) statements, select sleep(1) and select sleep(2), are executed in sequence, only select sleep(1) will be displayed.

Downloading a Log

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target DB instance.
  5. In the navigation pane on the left, choose Logs. On the Slow Query Logs page, click Download. In the log list, locate a log whose status is Preparation completed and click Download in the Operation column.

    • The system automatically loads the downloading preparation tasks. The loading duration is determined by the log file size and network environment.
      • When the log is being prepared for download, the log status is Preparing.
      • When the log is ready for download, the log status is Preparation completed.
      • If the preparation for download fails, the log status is Abnormal.

      Logs in the Preparing or Abnormal status cannot be downloaded.

    • Only logs no more than 40 MB can be downloaded directly from this page. The time range is calculated from the time you download the logs back to the time when the accumulated file size reaches 40 MB.
    • It is impossible to generate a log file much larger than 40 MB, like 100 MB or 200 MB. If a log file that is a little larger than 40 MB is required, use OBS Browser+ to download it by referring to Method 1: Using OBS Browser+.
    • The download link is valid for 5 minutes. After the download link expires, a message is displayed indicating that the download link has expired. If you need to redownload the log, click OK.

Enabling Slow Log Reporting to LTS

To use this function, contact customer service to apply for required permissions.

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and a project.
  3. Click in the upper left corner of the page and choose Databases > Relational Database Service.
  4. On the Instances page, click the target DB instance name.
  5. In the navigation pane, click Logs. On the Slow Query Logs page, click Log Details.
  6. Click next to Report Slow Log to LTS.
  7. Select an LTS log group and log stream and click OK.

    Figure 2 Enabling slow log reporting to LTS