mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-02-10 07:05:04 -05:00
## Description Add additional filter parameters for existing PostgreSQL tools: 1. `list_views`: - Add a new optional `"schema_name"` filter parameter to return results based on a specific schema name pattern. - Add an additional column `"definition"` to return the view definition. 2. `list_schemas`: - Add a new optional `"owner"` filter parameter to return results based on a specific owner name pattern. - Add a new optional `"limit"` parameter to return a specific number of rows. 3. `list_indexes`: - Add a new optional `"only_unused"` filter parameter to return only unused indexes. > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution list_views <img width="1531" height="763" alt="Screenshot 2025-11-25 at 1 36 39 PM" src="https://github.com/user-attachments/assets/bd6805b3-43d2-46c7-adc8-62d3a4521d36" /> list_schemas <img width="1519" height="755" alt="Screenshot 2025-11-25 at 1 35 54 PM" src="https://github.com/user-attachments/assets/62d3e987-b64e-442b-ba1a-84def1df7a58" /> list_indexes <img width="1523" height="774" alt="Screenshot 2025-11-25 at 1 35 32 PM" src="https://github.com/user-attachments/assets/c6f73b3f-f8a2-4b76-9218-64d7011a2241" /> ## PR Checklist > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes #<1738> Co-authored-by: Averi Kitsch <akitsch@google.com>
3.0 KiB
3.0 KiB
title, type, weight, description, aliases
| title | type | weight | description | aliases | |
|---|---|---|---|---|---|
| postgres-list-indexes | docs | 1 | The "postgres-list-indexes" tool lists indexes in a Postgres database. |
|
About
The postgres-list-indexes tool lists available user indexes in the database
excluding those in pg_catalog and information_schema. It's compatible with
any of the following sources:
postgres-list-indexes lists detailed information as JSON for indexes. The tool
takes the following input parameters:
table_name(optional): A text to filter results by table name. Default:""index_name(optional): A text to filter results by index name. Default:""schema_name(optional): A text to filter results by schema name. Default:""only_unused(optional): If true, returns indexes that have never been used.limit(optional): The maximum number of rows to return. Default:50.
Example
tools:
list_indexes:
kind: postgres-list-indexes
source: postgres-source
description: |
Lists available user indexes in the database, excluding system schemas (pg_catalog,
information_schema). For each index, the following properties are returned:
schema name, table name, index name, index type (access method), a boolean
indicating if it's a unique index, a boolean indicating if it's for a primary key,
the index definition, index size in bytes, the number of index scans, the number of
index tuples read, the number of table tuples fetched via index scans, and a boolean
indicating if the index has been used at least once.
The response is a json array with the following elements:
{
"schema_name": "schema name",
"table_name": "table name",
"index_name": "index name",
"index_type": "index access method (e.g btree, hash, gin)",
"is_unique": "boolean indicating if the index is unique",
"is_primary": "boolean indicating if the index is for a primary key",
"index_definition": "index definition statement",
"index_size_bytes": "index size in bytes",
"index_scans": "Number of index scans initiated on this index",
"tuples_read": "Number of index entries returned by scans on this index",
"tuples_fetched": "Number of live table rows fetched by simple index scans using this index",
"is_used": "boolean indicating if the index has been scanned at least once"
}
Reference
| field | type | required | description |
|---|---|---|---|
| kind | string | true | Must be "postgres-list-indexes". |
| source | string | true | Name of the source the SQL should execute on. |
| description | string | false | Description of the tool that is passed to the agent. |