Monitor active queries

MySQL  |  PostgreSQL  |  SQL Server

This page describes how to monitor and troubleshoot the queries that are activein your database. Monitoring these queries can help identify causes of systemlatency and high CPU usage.

On theQuery insights dashboard, you can view a summary of activetransactions and a list of transactions with associated query and statistics.The transactions are displayed by the transaction start time. If there is alarge number of queries running, then the results might be limited to asubset of total queries.

Before you begin

To monitor active queries, you can use either Cloud SQL Enterprise edition or Cloud SQL Enterprise Plus edition.

To terminate a session or a long-running transaction in active queries,you must use Cloud SQL Enterprise Plus edition for your Cloud SQL instance.

For more information aboutCloud SQL editions, seeIntroduction to Cloud SQL editions.

Required roles and permissions

To get the permissions that you need to view active queries, ask your administrator to grant you the following IAM roles on the project that hosts the Cloud SQL instance:

For more information about granting roles, seeManage access to projects, folders, and organizations.

These predefined roles contain the permissions required to view active queries. To see the exact permissions that are required, expand theRequired permissions section:

Required permissions

The following permissions are required to view active queries:

  • View database activity summary and long-running transactions:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

You might also be able to get these permissions withcustom roles or otherpredefined roles.

Enable active queries

When youenable query insights,you enable active queries automatically. To be able to terminate a session orlong-running transaction in active queries, you must usequery insights for Cloud SQL Enterprise Plus edition.

Disable active queries

You can't disable active queries without disabling query insights. To disable active queries and query insights, seeDisable query insights.

View active queries

To view your active queries, complete the following steps:

  1. In the Google Cloud console, go to theCloud SQL Instances page.

    Go to Cloud SQL Instances

  2. To open theOverview page of an instance, click the instance name.

  3. Do one of the following to display theQuery insights dashboard:

    • Select theQuery insights tab.
    • ClickGo to Query insights for more in-depth info on queries and performance.TheQuery insights dashboard opens. It shows details about the instanceat the top.
  4. Click theActive queries tab.

    From here, you can modify the query information that appears in theLongest running transactions table:

    • Database: filters query load on a specific database or all databases.
    • User: filters query load from a specific user account.

View normalized active queries

You can view a list of top long-running transactions with normalized activequeries on theQuery insights dashboard. A normalized active query removessensitive data and returns a digest. The digest is the same for different valuesused in the following example:

  • Regular queries

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Digest or normalized query

    • select * from test_table where id=?;

A query that runs in different sessions is displayed as different entries on thedashboard.

View top longest running transactions

TheLongest running transactions table on theQuery insights dashboardcontains the following columns:

Column nameDescription
Session IDUnique identifier of the session.
QuerySQL query text.
State of sessionThe state of the session.
Query durationHow long the query has been running.
Blocking session IDThe id of the session that is blocking the session.
Wait event typeThe type of wait event, if the request is blocked for query execution.
Wait resourceThe resource for which the request is currently waiting, if the request is blocked for query execution.
Transaction wait durationThe duration of the current wait, if the session is blocked.
Logical readsThe number of logical reads that have been performed by the request.
ReadsThe number of reads that have been performed by the request.
WritesThe number of writes that have been performed by the request.
DatabaseDatabase where the session is running.
UserName of the user connected to the database.
Client addressThe specific IP address of the client that sent a query.
CPU time (ms)The CPU time in milliseconds that is used by the request.
Application nameName of application that initiated the session.
Transaction rows modifiedNumber of rows returned to client by this query.
% completePercent of work completed, if the query reports progress.
Granted query memoryThe number of pages allocated to the execution of the request.
ActionContains a link for terminating a session.

The display is refreshed every 60 seconds automatically.

You can use theContent display options...vertical menu to filter the columns you want to display.

Terminate a session

To terminate a session or long-running transaction,you must use Cloud SQL Enterprise Plus edition and enablequery insights for Cloud SQL Enterprise Plus edition.

Long running operations can take longer to terminate.

To terminate a query or transaction, complete the following steps:

  1. In theLongest running transaction table, select a query.
  2. In theAction column, clickTerminate session.
  3. In theTerminate session window, clickConfirm.
Note: IfTerminate isn't available, then you might have insufficientIAM permissions. For more information, seeBefore you begin.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-15 UTC.