# Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. kind: source name: cloudsql-pg-source type: cloud-sql-postgres project: ${CLOUD_SQL_POSTGRES_PROJECT} region: ${CLOUD_SQL_POSTGRES_REGION} instance: ${CLOUD_SQL_POSTGRES_INSTANCE} database: ${CLOUD_SQL_POSTGRES_DATABASE} user: ${CLOUD_SQL_POSTGRES_USER:} password: ${CLOUD_SQL_POSTGRES_PASSWORD:} ipType: ${CLOUD_SQL_POSTGRES_IP_TYPE:public} --- kind: source name: cloud-sql-admin-source type: cloud-sql-admin defaultProject: ${CLOUD_SQL_POSTGRES_PROJECT:} --- kind: source name: cloud-monitoring-source type: cloud-monitoring --- kind: tool name: execute_sql type: postgres-execute-sql source: cloudsql-pg-source description: Use this tool to execute a single SQL statement. --- kind: tool name: list_tables type: postgres-list-tables source: cloudsql-pg-source description: Lists detailed schema information (object type, columns, constraints, indexes, triggers, owner, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas. --- kind: tool name: list_active_queries type: postgres-list-active-queries source: cloudsql-pg-source description: List the top N (default 50) currently running queries (state='active') from pg_stat_activity, ordered by longest-running first. Returns pid, user, database, application_name, client_addr, state, wait_event_type/wait_event, backend/xact/query start times, computed query_duration, and the SQL text. --- kind: tool name: list_available_extensions type: postgres-list-available-extensions source: cloudsql-pg-source description: Discover all PostgreSQL extensions available for installation on this server, returning name, default_version, and description. --- kind: tool name: list_installed_extensions type: postgres-list-installed-extensions source: cloudsql-pg-source description: List all installed PostgreSQL extensions with their name, version, schema, owner, and description. --- kind: tool name: long_running_transactions type: postgres-long-running-transactions source: cloudsql-pg-source description: Identifies and lists database transactions that exceed a specified time limit. For each of the long running transactions, the output contains the process id, database name, user name, application name, client address, state, connection age, transaction age, query age, last activity age, wait event type, wait event, and query string. --- kind: tool name: list_locks type: postgres-list-locks source: cloudsql-pg-source description: Identifies all locks held by active processes showing the process ID, user, query text, and an aggregated list of all transactions and specific locks (relation, mode, grant status) associated with each process. --- kind: tool name: replication_stats type: postgres-replication-stats source: cloudsql-pg-source description: Lists each replica's process ID, user name, application name, backend_xmin (standby's xmin horizon reported by hot_standby_feedback), client IP address, connection state, and sync_state, along with lag sizes in bytes for sent_lag (primary to sent), write_lag (sent to written), flush_lag (written to flushed), replay_lag (flushed to replayed), and the overall total_lag (primary to replayed). --- kind: tool name: list_autovacuum_configurations type: postgres-sql source: cloudsql-pg-source description: List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings. statement: | SELECT name, setting FROM pg_settings WHERE category = 'Autovacuum'; --- kind: tool name: list_memory_configurations type: postgres-sql source: cloudsql-pg-source description: List PostgreSQL memory-related configurations (name and current setting) from pg_settings. statement: | ( SELECT name, pg_size_pretty((setting::bigint * 1024)::bigint) setting FROM pg_settings WHERE name IN ('work_mem', 'maintenance_work_mem') ) UNION ALL ( SELECT name, pg_size_pretty((((setting::bigint) * 8) * 1024)::bigint) FROM pg_settings WHERE name IN ('shared_buffers', 'wal_buffers', 'effective_cache_size', 'temp_buffers') ) ORDER BY 1 DESC; --- kind: tool name: list_top_bloated_tables type: postgres-sql source: cloudsql-pg-source description: | List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times. statement: | SELECT schemaname AS schema_name, relname AS relation_name, n_live_tup AS live_tuples, n_dead_tup AS dead_tuples, TRUNC((n_dead_tup::NUMERIC / NULLIF(n_live_tup + n_dead_tup, 0)) * 100, 2) AS dead_tuple_percentage, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze FROM pg_stat_user_tables ORDER BY n_dead_tup DESC LIMIT COALESCE($1::int, 50); parameters: - name: limit description: The maximum number of results to return. type: integer default: 50 --- kind: tool name: list_replication_slots type: postgres-sql source: cloudsql-pg-source description: List key details for all PostgreSQL replication slots (e.g., type, database, active status) and calculates the size of the outstanding WAL that is being prevented from removal by the slot. statement: | SELECT slot_name, slot_type, plugin, database, temporary, active, restart_lsn, confirmed_flush_lsn, xmin, catalog_xmin, pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS retained_wal FROM pg_replication_slots; --- kind: tool name: list_invalid_indexes type: postgres-sql source: cloudsql-pg-source description: Lists all invalid PostgreSQL indexes which are taking up disk space but are unusable by the query planner. Typically created by failed CREATE INDEX CONCURRENTLY operations. statement: | SELECT nspname AS schema_name, indexrelid::regclass AS index_name, indrelid::regclass AS table_name, pg_size_pretty(pg_total_relation_size(indexrelid)) AS index_size, indisready, indisvalid, pg_get_indexdef(pg_class.oid) AS index_def FROM pg_index JOIN pg_class ON pg_class.oid = pg_index.indexrelid JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE indisvalid = FALSE; --- kind: tool name: get_query_plan type: postgres-sql source: cloudsql-pg-source description: Generate a PostgreSQL EXPLAIN plan in JSON format for a single SQL statement—without executing it. This returns the optimizer's estimated plan, costs, and rows (no ANALYZE, no extra options). Do not use this tool in production as it is prone to SQL injection risks. statement: | EXPLAIN (FORMAT JSON) {{.query}}; templateParameters: - name: query type: string description: The SQL statement for which you want to generate plan (omit the EXPLAIN keyword). required: true --- kind: tool name: list_views type: postgres-list-views source: cloudsql-pg-source --- kind: tool name: list_schemas type: postgres-list-schemas source: cloudsql-pg-source --- kind: tool name: database_overview type: postgres-database-overview source: cloudsql-pg-source --- kind: tool name: list_triggers type: postgres-list-triggers source: cloudsql-pg-source --- kind: tool name: list_indexes type: postgres-list-indexes source: cloudsql-pg-source --- kind: tool name: list_sequences type: postgres-list-sequences source: cloudsql-pg-source --- kind: tool name: list_query_stats type: postgres-list-query-stats source: cloudsql-pg-source --- kind: tool name: get_column_cardinality type: postgres-get-column-cardinality source: cloudsql-pg-source --- kind: tool name: list_table_stats type: postgres-list-table-stats source: cloudsql-pg-source --- kind: tool name: list_publication_tables type: postgres-list-publication-tables source: cloudsql-pg-source --- kind: tool name: list_tablespaces type: postgres-list-tablespaces source: cloudsql-pg-source --- kind: tool name: list_pg_settings type: postgres-list-pg-settings source: cloudsql-pg-source --- kind: tool name: list_database_stats type: postgres-list-database-stats source: cloudsql-pg-source --- kind: tool name: list_roles type: postgres-list-roles source: cloudsql-pg-source --- kind: tool name: list_stored_procedure type: postgres-list-stored-procedure source: cloudsql-pg-source --- kind: tool name: list_databases type: cloud-sql-list-databases source: cloud-sql-admin-source --- kind: tool name: create_backup type: cloud-sql-create-backup source: cloud-sql-admin-source --- kind: tool name: postgres_upgrade_precheck type: postgres-upgrade-precheck source: cloud-sql-admin-source --- kind: tool name: create_instance type: cloud-sql-postgres-create-instance source: cloud-sql-admin-source --- kind: tool name: wait_for_operation type: cloud-sql-wait-for-operation source: cloud-sql-admin-source multiplier: 4 --- kind: tool name: get_system_metrics type: cloud-monitoring-query-prometheus source: cloud-monitoring-source description: | Fetches system level cloudmonitoring data (timeseries metrics) for a Postgres instance using a PromQL query. Take projectId and instanceId from the user for which the metrics timeseries data needs to be fetched. To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`. Generate PromQL `query` for Postgres system metrics. Use the provided metrics and rules to construct queries, Get the labels like `instance_id` from user intent. Defaults: 1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user. PromQL Query Examples: 1. Basic Time Series: `avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m])` 2. Top K: `topk(30, avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 3. Mean: `avg(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 4. Minimum: `min(min_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 5. Maximum: `max(max_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 6. Sum: `sum(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 7. Count streams: `count(avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` 8. Percentile with groupby on database_id: `quantile by ("database_id")(0.99,avg_over_time({"__name__"="cloudsql.googleapis.com/database/cpu/utilization","monitored_resource"="cloudsql_database","project_id"="my-projectId","database_id"="my-projectId:my-instanceId"}[5m]))` Available Metrics List: metricname. description. monitored resource. labels. database_id is actually the instance id and the format is `project_id:instance_id`. 1. `cloudsql.googleapis.com/database/postgresql/new_connection_count`: Count of new connections added to the postgres instance. `cloudsql_database`. `database`, `project_id`, `database_id`. 2. `cloudsql.googleapis.com/database/postgresql/backends_in_wait`: Number of backends in wait in postgres instance. `cloudsql_database`. `backend_type`, `wait_event`, `wait_event_type`, `project_id`, `database_id`. 3. `cloudsql.googleapis.com/database/postgresql/transaction_count`: Delta count of number of transactions. `cloudsql_database`. `database`, `transaction_type`, `project_id`, `database_id`. 4. `cloudsql.googleapis.com/database/memory/components`: Memory stats components in percentage as usage, cache and free memory for the database. `cloudsql_database`. `component`, `project_id`, `database_id`. 5. `cloudsql.googleapis.com/database/postgresql/external_sync/max_replica_byte_lag`: Replication lag in bytes for Postgres External Server (ES) replicas. Aggregated across all DBs on the replica. `cloudsql_database`. `project_id`, `database_id`. 6. `cloudsql.googleapis.com/database/cpu/utilization`: Current CPU utilization represented as a percentage of the reserved CPU that is currently in use. Values are typically numbers between 0.0 and 1.0 (but might exceed 1.0). Charts display the values as a percentage between 0% and 100% (or more). `cloudsql_database`. `project_id`, `database_id`. 7. `cloudsql.googleapis.com/database/disk/bytes_used_by_data_type`: Data utilization in bytes. `cloudsql_database`. `data_type`, `project_id`, `database_id`. 8. `cloudsql.googleapis.com/database/disk/read_ops_count`: Delta count of data disk read IO operations. `cloudsql_database`. `project_id`, `database_id`. 9. `cloudsql.googleapis.com/database/disk/write_ops_count`: Delta count of data disk write IO operations. `cloudsql_database`. `project_id`, `database_id`. 10. `cloudsql.googleapis.com/database/postgresql/num_backends_by_state`: Number of connections to the Cloud SQL PostgreSQL instance, grouped by its state. `cloudsql_database`. `database`, `state`, `project_id`, `database_id`. 11. `cloudsql.googleapis.com/database/postgresql/num_backends`: Number of connections to the Cloud SQL PostgreSQL instance. `cloudsql_database`. `database`, `project_id`, `database_id`. 12. `cloudsql.googleapis.com/database/network/received_bytes_count`: Delta count of bytes received through the network. `cloudsql_database`. `project_id`, `database_id`. 13. `cloudsql.googleapis.com/database/network/sent_bytes_count`: Delta count of bytes sent through the network. `cloudsql_database`. `destination`, `project_id`, `database_id`. 14. `cloudsql.googleapis.com/database/postgresql/deadlock_count`: Number of deadlocks detected for this database. `cloudsql_database`. `database`, `project_id`, `database_id`. 15. `cloudsql.googleapis.com/database/postgresql/blocks_read_count`: Number of disk blocks read by this database. The source field distingushes actual reads from disk versus reads from buffer cache. `cloudsql_database`. `database`, `source`, `project_id`, `database_id`. 16. `cloudsql.googleapis.com/database/postgresql/tuples_processed_count`: Number of tuples(rows) processed for a given database for operations like insert, update or delete. `cloudsql_database`. `operation_type`, `database`, `project_id`, `database_id`. 17. `cloudsql.googleapis.com/database/postgresql/tuple_size`: Number of tuples (rows) in the database. `cloudsql_database`. `database`, `tuple_state`, `project_id`, `database_id`. 18. `cloudsql.googleapis.com/database/postgresql/vacuum/oldest_transaction_age`: Age of the oldest transaction yet to be vacuumed in the Cloud SQL PostgreSQL instance, measured in number of transactions that have happened since the oldest transaction. `cloudsql_database`. `oldest_transaction_type`, `project_id`, `database_id`. 19. `cloudsql.googleapis.com/database/replication/log_archive_success_count`: Number of successful attempts for archiving replication log files. `cloudsql_database`. `project_id`, `database_id`. 20. `cloudsql.googleapis.com/database/replication/log_archive_failure_count`: Number of failed attempts for archiving replication log files. `cloudsql_database`. `project_id`, `database_id`. 21. `cloudsql.googleapis.com/database/postgresql/transaction_id_utilization`: Current utilization represented as a percentage of transaction IDs consumed by the Cloud SQL PostgreSQL instance. Values are typically numbers between 0.0 and 1.0. Charts display the values as a percentage between 0% and 100% . `cloudsql_database`. `project_id`, `database_id`. 22. `cloudsql.googleapis.com/database/postgresql/num_backends_by_application`: Number of connections to the Cloud SQL PostgreSQL instance, grouped by applications. `cloudsql_database`. `application`, `project_id`, `database_id`. 23. `cloudsql.googleapis.com/database/postgresql/tuples_fetched_count`: Total number of rows fetched as a result of queries per database in the PostgreSQL instance. `cloudsql_database`. `database`, `project_id`, `database_id`. 24. `cloudsql.googleapis.com/database/postgresql/tuples_returned_count`: Total number of rows scanned while processing the queries per database in the PostgreSQL instance. `cloudsql_database`. `database`, `project_id`, `database_id`. 25. `cloudsql.googleapis.com/database/postgresql/temp_bytes_written_count`: Total amount of data (in bytes) written to temporary files by the queries per database. `cloudsql_database`. `database`, `project_id`, `database_id`. 26. `cloudsql.googleapis.com/database/postgresql/temp_files_written_count`: Total number of temporary files used for writing data while performing algorithms such as join and sort. `cloudsql_database`. `database`, `project_id`, `database_id`. --- kind: tool name: restore_backup type: cloud-sql-restore-backup source: cloud-sql-admin-source --- kind: tool name: list_instances type: cloud-sql-list-instances source: cloud-sql-admin-source --- kind: tool name: create_database type: cloud-sql-create-database source: cloud-sql-admin-source --- kind: tool name: create_user type: cloud-sql-create-users source: cloud-sql-admin-source --- kind: tool name: get_query_metrics type: cloud-monitoring-query-prometheus source: cloud-monitoring-source description: | Fetches query level cloudmonitoring data (timeseries metrics) for queries running in Postgres instance using a PromQL query. Take projectID and instanceID from the user for which the metrics timeseries data needs to be fetched. To use this tool, you must provide the Google Cloud `projectId` and a PromQL `query`. Generate PromQL `query` for Postgres query metrics. Use the provided metrics and rules to construct queries, Get the labels like `instance_id`, `query_hash` from user intent. If query_hash is provided then use the per_query metrics. Query hash and query id are same. Defaults: 1. Interval: Use a default interval of `5m` for `_over_time` aggregation functions unless a different window is specified by the user. PromQL Query Examples: 1. Basic Time Series: `avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m])` 2. Top K: `topk(30, avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 3. Mean: `avg(avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 4. Minimum: `min(min_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 5. Maximum: `max(max_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 6. Sum: `sum(avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 7. Count streams: `count(avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` 8. Percentile with groupby on resource_id, database: `quantile by ("resource_id","database")(0.99,avg_over_time({"__name__"="cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time","monitored_resource"="cloudsql_instance_database","project_id"="my-projectId","resource_id"="my-projectId:my-instanceId"}[5m]))` Available Metrics List: metricname. description. monitored resource. labels. resource_id label format is `project_id:instance_id` which is actually instance id only. aggregate is the aggregated values for all query stats, Use aggregate metrics if query id is not provided. For perquery metrics do not fetch querystring unless specified by user specifically. Have the aggregation on query hash to avoid fetching the querystring. Do not use latency metrics for anything. 1. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/latencies`: Aggregated query latency distribution. `cloudsql_instance_database`. `user`, `client_addr`, `project_id`, `resource_id`. 2. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/execution_time`: Accumulated aggregated query execution time since the last sample. `cloudsql_instance_database`. `user`, `client_addr`, `project_id`, `resource_id`. 3. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/io_time`: Accumulated aggregated IO time since the last sample. `cloudsql_instance_database`. `user`, `client_addr`, `io_type`, `project_id`, `resource_id`. 4. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/lock_time`: Accumulated aggregated lock wait time since the last sample. `cloudsql_instance_database`. `user`, `client_addr`, `lock_type`, `project_id`, `resource_id`. 5. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/row_count`: Aggregated number of retrieved or affected rows since the last sample. `cloudsql_instance_database`. `user`, `client_addr`, `project_id`, `resource_id`. 6. `cloudsql.googleapis.com/database/postgresql/insights/aggregate/shared_blk_access_count`: Aggregated shared blocks accessed by statement execution. `cloudsql_instance_database`. `user`, `client_addr`, `access_type`, `project_id`, `resource_id`. 7. `cloudsql.googleapis.com/database/postgresql/insights/perquery/latencies`: Per query latency distribution. `cloudsql_instance_database`. `user`, `client_addr`, `querystring`, `query_hash`, `project_id`, `resource_id`. 8. `cloudsql.googleapis.com/database/postgresql/insights/perquery/execution_time`: Accumulated execution times per user per database per query. `cloudsql_instance_database`. `user`, `client_addr`, `querystring`, `query_hash`, `project_id`, `resource_id`. 9. `cloudsql.googleapis.com/database/postgresql/insights/perquery/io_time`: Accumulated IO time since the last sample per query. `cloudsql_instance_database`. `user`, `client_addr`, `io_type`, `querystring`, `query_hash`, `project_id`, `resource_id`. 10. `cloudsql.googleapis.com/database/postgresql/insights/perquery/lock_time`: Accumulated lock wait time since the last sample per query. `cloudsql_instance_database`. `user`, `client_addr`, `lock_type`, `querystring`, `query_hash`, `project_id`, `resource_id`. 11. `cloudsql.googleapis.com/database/postgresql/insights/perquery/row_count`: The number of retrieved or affected rows since the last sample per query. `cloudsql_instance_database`. `user`, `client_addr`, `querystring`, `query_hash`, `project_id`, `resource_id`. 12. `cloudsql.googleapis.com/database/postgresql/insights/perquery/shared_blk_access_count`: Shared blocks accessed by statement execution per query. `cloudsql_instance_database`. `user`, `client_addr`, `access_type`, `querystring`, `query_hash`, `project_id`, `resource_id`. 13. `cloudsql.googleapis.com/database/postgresql/insights/pertag/latencies`: Query latency distribution. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`, `project_id`, `resource_id`. 14. `cloudsql.googleapis.com/database/postgresql/insights/pertag/execution_time`: Accumulated execution times since the last sample. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`, `project_id`, `resource_id`. 15. `cloudsql.googleapis.com/database/postgresql/insights/pertag/io_time`: Accumulated IO time since the last sample per tag. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `io_type`, `tag_hash`, `project_id`, `resource_id`. 16. `cloudsql.googleapis.com/database/postgresql/insights/pertag/lock_time`: Accumulated lock wait time since the last sample per tag. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `lock_type`, `tag_hash`, `project_id`, `resource_id`. 17. `cloudsql.googleapis.com/database/postgresql/insights/pertag/shared_blk_access_count`: Shared blocks accessed by statement execution per tag. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `access_type`, `tag_hash`, `project_id`, `resource_id`. 18. `cloudsql.googleapis.com/database/postgresql/insights/pertag/row_count`: The number of retrieved or affected rows since the last sample per tag. `cloudsql_instance_database`. `user`, `client_addr`, `action`, `application`, `controller`, `db_driver`, `framework`, `route`, `tag_hash`, `project_id`, `resource_id`. --- kind: tool name: clone_instance type: cloud-sql-clone-instance source: cloud-sql-admin-source --- kind: tool name: get_instance type: cloud-sql-get-instance source: cloud-sql-admin-source --- kind: tool name: define_spec type: vector-assist-define-spec source: cloudsql-pg-source --- kind: tool name: modify_spec type: vector-assist-modify-spec source: cloudsql-pg-source --- kind: tool name: apply_spec type: vector-assist-apply-spec source: cloudsql-pg-source --- kind: tool name: generate_query type: vector-assist-generate-query source: cloudsql-pg-source --- kind: tool name: delete_spec type: vector-assist-delete-spec source: cloudsql-pg-source --- kind: tool name: list_specs type: vector-assist-list-specs source: cloudsql-pg-source --- kind: tool name: get_spec type: vector-assist-get-spec source: cloudsql-pg-source --- kind: tool name: improve_query_recall type: vector-assist-improve-query-recall source: cloudsql-pg-source --- kind: toolset name: admin tools: - create_instance - get_instance - list_instances - create_database - list_databases - create_user - wait_for_operation - clone_instance --- kind: toolset name: lifecycle tools: - create_backup - restore_backup - postgres_upgrade_precheck - wait_for_operation - database_overview - get_instance - list_instances --- kind: toolset name: data tools: - execute_sql - list_tables - list_views - list_schemas - list_triggers - list_indexes - list_sequences - list_stored_procedure --- kind: toolset name: monitor tools: - get_system_metrics - get_query_metrics - list_query_stats - get_query_plan - list_database_stats - list_active_queries - long_running_transactions - list_locks --- kind: toolset name: health tools: - list_top_bloated_tables - list_invalid_indexes - list_table_stats - get_column_cardinality - list_autovacuum_configurations - list_tablespaces - database_overview - list_pg_settings --- kind: toolset name: view-config tools: - list_available_extensions - list_installed_extensions - list_memory_configurations - list_pg_settings - database_overview - get_instance --- kind: toolset name: replication tools: - replication_stats - list_replication_slots - list_publication_tables - list_roles - list_pg_settings - database_overview --- kind: toolset name: vectorassist tools: - execute_sql - define_spec - modify_spec - apply_spec - generate_query - improve_query_recall - list_specs - get_spec - delete_spec