From alloydb
Monitors AlloyDB Postgres health with scripts for server overview, column cardinality, invalid indexes, table stats, autovacuum configs, and instance details. Use for storage optimization and index issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/alloydb:alloydb-postgres-healthThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
All scripts can be executed using Node.js. Replace `<param_name>` and `<param_value>` with actual values.
All scripts can be executed using Node.js. Replace <param_name> and <param_value> with actual values.
Bash:
node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'
PowerShell:
node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'
Note: The scripts automatically load the environment variables from various .env files. Do not ask the user to set vars unless skill executions fails due to env var absence.
Fetches the current state of the PostgreSQL server, returning the version, whether it's a replica, uptime duration, maximum connection limit, number of current connections, number of active connections, and the percentage of connections in use.
Estimates the number of unique values (cardinality) quickly for one or all columns in a specific PostgreSQL table by using the database's internal statistics, returning the results in descending order of estimated cardinality. Please run ANALYZE on the table before using this tool to get accurate results. The tool returns the column_name and the estimated_cardinality. If the column_name is not provided, the tool returns all columns along with their estimated cardinality.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| schema_name | string | Optional: The schema name in which the table is present. | No | |
| table_name | string | Required: The table name in which the column is present. | Yes | |
| column_name | string | Optional: The column name for which the cardinality is to be found. If not provided, cardinality for all columns will be returned. | No |
Retrieves details about a specific AlloyDB instance.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| project | string | The GCP project ID. This is pre-configured; do not ask for it unless the user explicitly provides a different one. | No | |
| location | string | The location of the instance (e.g., 'us-central1'). | Yes | |
| cluster | string | The ID of the cluster. | Yes | |
| instance | string | The ID of the instance. | Yes |
List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.
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.
Lists the user table statistics in the database ordered by number of sequential scans with a default limit of 50 rows. Returns the following columns: schema name, table name, table size in bytes, number of sequential scans, number of index scans, idx_scan_ratio_percent (showing the percentage of total scans that utilized an index, where a low ratio indicates missing or ineffective indexes), number of live rows, number of dead rows, dead_row_ratio_percent (indicating potential table bloat), total number of rows inserted, updated, and deleted, the timestamps for the last_vacuum, last_autovacuum, and last_autoanalyze operations.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| schema_name | string | Optional: A specific schema name to filter by | No | |
| table_name | string | Optional: A specific table name to filter by | No | |
| owner | string | Optional: A specific owner to filter by | No | |
| sort_by | string | Optional: The column to sort by | No | |
| limit | integer | Optional: The maximum number of results to return | No | 50 |
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| tablespace_name | string | Optional: a text to filter results by tablespace name. The input is used within a LIKE clause. | No | `` |
| limit | integer | Optional: The maximum number of rows to return. | No | 50 |
List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.
| Name | Type | Description | Required | Default |
|---|---|---|---|---|
| limit | integer | The maximum number of results to return. | No | 50 |
npx claudepluginhub gemini-cli-extensions/alloydb --plugin alloydbFetches query-level Cloud Monitoring metrics via PromQL for AlloyDB Postgres instances to troubleshoot slow performance, analyze execution plans, and identify resource-heavy processes.
Audits Cloud SQL Postgres health: identifies storage bloat, invalid indexes, analyzes table statistics, manages autovacuum configs, fetches query metrics via PromQL.
Troubleshoots slow queries, analyzes system-level PromQL metrics, and identifies structural performance issues like table fragmentation or missing unique indexes for Cloud SQL MySQL.