97
stars
94
commits
Aug 31, 2026
updated
[!NOTE] This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).
This Gemini CLI extension provides a set of tools to interact with PostgreSQL instances. It allows you to manage your databases, execute queries, and explore schemas directly from the Gemini CLI, using natural language prompts.
Learn more about Gemini CLI Extensions.
[!IMPORTANT] We Want Your Feedback! Please share your thoughts with us by filling out our feedback form. Your input is invaluable and helps us improve the project for everyone.
Before you begin, ensure you have the following:
To install the extension, use the command:
gemini extensions install https://github.com/gemini-cli-extensions/postgres
You will be prompted to configure the following settings during installation. These settings are saved in an .env file within the extension's directory.
POSTGRES_HOST: (Optional) The Postgres host. Defaults to localhost.POSTGRES_PORT: (Optional) The Postgres port. Defaults to 5432.POSTGRES_DATABASE: The name of the database to connect to.POSTGRES_USER: The database username.POSTGRES_PASSWORD: The password for the database user.To view or update your configuration:
List Settings:
gemini extensions list/extensions listUpdate Settings:
gemini extensions config postgres [setting name] [--scope <scope>]
setting name: (Optional) The single setting to configure.scope: (Optional) The scope of the setting in (user or workspace). Defaults to user.gemini --resume to resume your session.Alternatively, you can manually set these environment variables before starting the Gemini CLI:
export POSTGRES_HOST="<your-postgres-host>" # Optional: defaults to localhost
export POSTGRES_PORT="<your-postgres-port>" # Optional: defaults to 5432
export POSTGRES_DATABASE="<your-database-name>"
export POSTGRES_USER="<your-database-user>"
export POSTGRES_PASSWORD="<your-database-password>"
[!NOTE] See Troubleshooting for debugging your configuration.
To start the Gemini CLI, use the following command:
gemini
[!WARNING] Changing Instance & Database Connections Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session. To save and resume conversation history use command:
/chat save <tag>and/chat resume <tag>.
Interact with Postgres using natural language right from your IDE:
Explore Schemas and Data:
Generate Code:
list_tables: Use this tool to list tables in the database.database_overview: Use this tool to fetches the current state of the PostgreSQL server.execute_sql: Use this tool to execute a SQL query.list_active_queries: Use this tool to list currently running queries.list_available_extensions: Use this tool to list available extensions for installation.list_installed_extensions: Use this tool to list installed extensions.get_query_plan: Use this tool to get query plan.list_autovacuum_configurations: Use this tool to list autovacuum configurations and its value.list_database_stats: Use this tool to lists the key performance and activity statistics for each database in the PostgreSQL server.list_indexes: Use this tool to list available user indexes in a PostgreSQL database.list_memory_configurations: Use this tool to list memory configurations and its value.list_pg_settings: Use this tool to list configuration parameters for the PostgreSQL server.list_publication_tables: Use this tool to list publication tables in a PostgreSQL database.list_replication_slots: Use this tool to list replication slots.list_roles: Use this tool to lists all the user-created roles in PostgreSQL database.list_schemas: Use this tool to lists schemas in the database.list_sequences: Use this tool to list sequences in a PostgreSQL database.list_tablespaces: Use this tool to lists tablespaces in the database.list_top_bloated_tables: Use this tool to list top bloated tables.list_triggers: Use this tool to lists triggers in the database.list_views: Use this tool to lists views in the database from pg_views with a default limit of 50 rows.list_invalid_indexes: Use this tool to list invalid indexes.Find additional extensions to support your entire software development lifecycle at github.com/gemini-cli-extensions, including:
Use gemini --debug to enable debugging.
Common issues:
97
stars
94
commits
Aug 31, 2026
updated
[!NOTE] This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).
This Gemini CLI extension provides a set of tools to interact with PostgreSQL instances. It allows you to manage your databases, execute queries, and explore schemas directly from the Gemini CLI, using natural language prompts.
Learn more about Gemini CLI Extensions.
[!IMPORTANT] We Want Your Feedback! Please share your thoughts with us by filling out our feedback form. Your input is invaluable and helps us improve the project for everyone.
Before you begin, ensure you have the following:
To install the extension, use the command:
gemini extensions install https://github.com/gemini-cli-extensions/postgres
You will be prompted to configure the following settings during installation. These settings are saved in an .env file within the extension's directory.
POSTGRES_HOST: (Optional) The Postgres host. Defaults to localhost.POSTGRES_PORT: (Optional) The Postgres port. Defaults to 5432.POSTGRES_DATABASE: The name of the database to connect to.POSTGRES_USER: The database username.POSTGRES_PASSWORD: The password for the database user.To view or update your configuration:
List Settings:
gemini extensions list/extensions listUpdate Settings:
gemini extensions config postgres [setting name] [--scope <scope>]
setting name: (Optional) The single setting to configure.scope: (Optional) The scope of the setting in (user or workspace). Defaults to user.gemini --resume to resume your session.Alternatively, you can manually set these environment variables before starting the Gemini CLI:
export POSTGRES_HOST="<your-postgres-host>" # Optional: defaults to localhost
export POSTGRES_PORT="<your-postgres-port>" # Optional: defaults to 5432
export POSTGRES_DATABASE="<your-database-name>"
export POSTGRES_USER="<your-database-user>"
export POSTGRES_PASSWORD="<your-database-password>"
[!NOTE] See Troubleshooting for debugging your configuration.
To start the Gemini CLI, use the following command:
gemini
[!WARNING] Changing Instance & Database Connections Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session. To save and resume conversation history use command:
/chat save <tag>and/chat resume <tag>.
Interact with Postgres using natural language right from your IDE:
Explore Schemas and Data:
Generate Code:
list_tables: Use this tool to list tables in the database.database_overview: Use this tool to fetches the current state of the PostgreSQL server.execute_sql: Use this tool to execute a SQL query.list_active_queries: Use this tool to list currently running queries.list_available_extensions: Use this tool to list available extensions for installation.list_installed_extensions: Use this tool to list installed extensions.get_query_plan: Use this tool to get query plan.list_autovacuum_configurations: Use this tool to list autovacuum configurations and its value.list_database_stats: Use this tool to lists the key performance and activity statistics for each database in the PostgreSQL server.list_indexes: Use this tool to list available user indexes in a PostgreSQL database.list_memory_configurations: Use this tool to list memory configurations and its value.list_pg_settings: Use this tool to list configuration parameters for the PostgreSQL server.list_publication_tables: Use this tool to list publication tables in a PostgreSQL database.list_replication_slots: Use this tool to list replication slots.list_roles: Use this tool to lists all the user-created roles in PostgreSQL database.list_schemas: Use this tool to lists schemas in the database.list_sequences: Use this tool to list sequences in a PostgreSQL database.list_tablespaces: Use this tool to lists tablespaces in the database.list_top_bloated_tables: Use this tool to list top bloated tables.list_triggers: Use this tool to lists triggers in the database.list_views: Use this tool to lists views in the database from pg_views with a default limit of 50 rows.list_invalid_indexes: Use this tool to list invalid indexes.Find additional extensions to support your entire software development lifecycle at github.com/gemini-cli-extensions, including:
Use gemini --debug to enable debugging.
Common issues: