agentsclimarketplace

Alloydb postgres health

Skill gemini-cli-extensions/alloydb/skills/alloydb-postgres-health

Use these skills when you need to optimize storage, identify index issues, analyze table statistics, or manage autovacuum and tablespace configurations to maintain peak database health.From its SKILL.md

Install
npx -y skills add gemini-cli-extensions/alloydb --skill alloydb-postgres-health

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 22 stars22 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.7 KB, as published. Nobody here has run it

Usage

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.

Scripts

database_overview

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.


get_column_cardinality

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.

Parameters

NameTypeDescriptionRequiredDefault
schema_namestringOptional: The schema name in which the table is present.No
table_namestringRequired: The table name in which the column is present.Yes
column_namestringOptional: The column name for which the cardinality is to be found. If not provided, cardinality for all columns will be returned.No

get_instance

Retrieves details about a specific AlloyDB instance.

Parameters

NameTypeDescriptionRequiredDefault
projectstringThe GCP project ID. This is pre-configured; do not ask for it unless the user explicitly provides a different one.No
locationstringThe location of the instance (e.g., 'us-central1').Yes
clusterstringThe ID of the cluster.Yes
instancestringThe ID of the instance.Yes

list_autovacuum_configurations

List PostgreSQL autovacuum-related configurations (name and current setting) from pg_settings.


list_invalid_indexes

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.


list_table_stats

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.

Parameters

NameTypeDescriptionRequiredDefault
schema_namestringOptional: A specific schema name to filter byNo
table_namestringOptional: A specific table name to filter byNo
ownerstringOptional: A specific owner to filter byNo
sort_bystringOptional: The column to sort byNo
limitintegerOptional: The maximum number of results to returnNo50

list_tablespaces

Parameters

NameTypeDescriptionRequiredDefault
tablespace_namestringOptional: a text to filter results by tablespace name. The input is used within a LIKE clause.No``
limitintegerOptional: The maximum number of rows to return.No50

list_top_bloated_tables

List the top tables by dead-tuple (approximate bloat signal), returning schema, table, live/dead tuples, percentage, and last vacuum/analyze times.

Parameters

NameTypeDescriptionRequiredDefault
limitintegerThe maximum number of results to return.No50

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.