You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-18Lines changed: 31 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,14 @@
1
1
# Gemini CLI Extension - Cloud SQL for PostgreSQL
2
2
3
-
This Gemini CLI extension provides a set of tools to interact with [Cloud SQL for PostgreSQL](https://cloud.google.com/sql/docs/postgres) instances. It allows you to manage your databases, execute queries, and explore schemas directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.
3
+
This Gemini CLI extension provides a set of tools to interact with [Cloud SQL for PostgreSQL](https://cloud.google.com/sql/docs/postgres) instances. It allows you to manage your databases, execute queries, explore schemas, and troubleshoot issues directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.
4
+
5
+
Learn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extension.md).
4
6
5
7
## Why Use the Cloud SQL for PostgreSQL Extension?
6
8
7
-
***Natural Language Management:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.
8
9
***Seamless Workflow:** As a Google-developed extension, it integrates seamlessly into the Gemini CLI environment. No need to constantly switch contexts for common database tasks.
9
-
***Full Lifecycle Control:** Manage the entire lifecycle of your database, from creating instances to exploring schemas and running queries.
10
+
***Natural Language Queries:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.
11
+
***Full Lifecycle Control:** Manage the entire lifecycle of your database, from creating instances to exploring schemas and running queries.
10
12
***Code Generation:** Accelerate development by asking Gemini to generate data classes and other code snippets based on your table schemas.
11
13
12
14
## Prerequisites
@@ -40,11 +42,15 @@ Set the following environment variables before starting the Gemini CLI:
40
42
*`CLOUD_SQL_POSTGRES_IP_TYPE`: (Optional) The IP Type.
41
43
42
44
> [!NOTE]
43
-
> When using private IPs with AlloyDB, you must use a Virtual Private Cloud (VPC) network.
45
+
> When using private IPs with Cloud SQL for PostgreSQL, you must use a Virtual Private Cloud (VPC) network.
46
+
44
47
## Usage Examples
45
48
46
-
Interact with Cloud SQL for PostgreSQL using natural language right from your IDE:
49
+
Interact with Cloud SQL for PostgreSQL using natural language:
47
50
51
+
***Provision Infrastructure:**
52
+
* "Create a new CLoud SQL for Postgres instance named 'e-commerce-prod' in the 'my-gcp-project' project."
53
+
* "Create a new user named 'analyst' with read access to all tables."
48
54
***Explore Schemas and Data:**
49
55
* "Show me all tables in the 'orders' database."
50
56
* "What are the columns in the 'products' table?"
@@ -54,20 +60,27 @@ Interact with Cloud SQL for PostgreSQL using natural language right from your ID
54
60
55
61
## Supported Tools
56
62
57
-
***Data:**
58
-
*`list-tables`: Use this tool to list tables and descriptions.
59
-
*`execute-sql`: Use this tool to execute any SQL statement.
60
-
61
63
***Admin:**
62
-
*`wait_for_operation`: Polls the operations API until an operation is complete.
63
-
*`user_create`: Use this tool to create a new user for a Cloud SQL instance.
64
-
*`database_list`: Use this tool to list databases within a Cloud SQL instance.
65
-
*`database_create`: Use this tool to create a new database within a Cloud SQL instance.
66
-
*`instance_list`: Use this tool to list Cloud SQL instances in a given project and location.
67
-
*`instance_get`: Use this tool to get details about a specific Cloud SQL instance.
68
-
*`instance_create`: Use this tool to create (insert) a new Cloud SQL instance.
69
-
*`system_metrics`: Use this tool to retrieve system metrics for a Cloud SQL for PostgreSQL instance.
70
-
*`query_metrics`: Use this tool to retrieve query-related metrics for a Cloud SQL for PostgreSQL instance.```
64
+
* `create_instance`: Use this tool to create an Postgres instance.
65
+
* `create_user`: Use this tool to create Postgres-BUILT-IN or IAM-based users.
66
+
* `get_instance`: Use this tool to get details about an Postgres instance.
67
+
* `get_user`: Use this tool to get details about a user.
68
+
* `list_instances`: Use this tool to list instances in a given project and location.
69
+
* `list_users`: Use this tool to list users in a given project and location.
70
+
* `wait_for_operation`: Use this tool to poll the operations API until the operation is done.
71
+
72
+
***Data:**
73
+
*`list_tables`: Use this tool to lists tables in the database.
74
+
*`execute_sql`: Use this tool to executes a SQL query.
75
+
*`list_active_queries`: Use this tool to list currently running queries.
76
+
*`list_available_extensions`: Use this tool to list available extensions for installation.
77
+
*`list_installed_extensions`: Use this tool to list installed extensions.
78
+
*`get_query_plan`: Use this tool to get query plan.
79
+
*`list_autovacuum_configurations`: Use this tool to list autovacuum configurations and its value.
80
+
*`list_memory_configuration`s: Use this tool to list memory configurations and its value.
81
+
*`list_top_bloated_tables`: Use this tool to list top bloated tables.
82
+
*`list_replication_slots`: Use this tool to list replication slots.
83
+
*`list_invalid_indexes`: Use this tool to list invalid indexes.
0 commit comments