Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to connect to a Spanner database in IntelliJ and
other JetBrains products.
IntelliJ IDEA is an integrated development environment
for developing software in Java, Kotlin, Groovy, and other JVM-based languages.
This page assumes that you already have IntelliJ or another JetBrains IDE
installed on your computer.
Connect to Spanner
Connecting IntelliJ to your Spanner database lets you execute queries
and other SQL statements on your Spanner database directly from
IntelliJ. It also enables code completion and validation for table and column
names in your code.
You can connect to both GoogleSQL-dialect databases and PostgreSQL-dialect databases by following these steps:
In IntelliJ, click the menu option
File > New > Datasource > Google Spanner.
The Google Spanner driver is under the Other sub-menu if you have
not used this driver before.
In the Data Sources window, enter your project, instance, and database ID.
Optional: Select a service account key file if you want to authenticate using
a service account. Select No Auth in the Credentials drop-down if you want
to use your default credentials.
Click OK to create the data source. The Spanner database is
added to the Database window in IntelliJ.
In the Databases window, expand the data source that you just added. Then
click the ... button next to the text No schemas selected.
Select the option All schemas to instruct IntelliJ to introspect all
schemas in the database. IntelliJ will then populate the database view with
all tables and views in your database.
Connect to the Spanner Emulator
You can also connect IntelliJ to a database in the
Spanner Emulator:
First start the emulator with one of the following commands:
gcloud emulators spanner start
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
Click the menu option File > New > Datasource > Google Spanner.
The Google Spanner driver is under the Other sub-menu if you have
not used this driver before.
Enter the project, instance, and database ID. NOTE: The project, instance
and database do not need to exist in the emulator.
Select No Auth in the Credentials drop-down.
Click the Advanced tab in the Data Sources window.
Modify the value of autoConfigEmulator to true.
Click OK to accept all changes. The project, instance, and database will
be created on the emulator automatically if these do not exist already.
In the Databases window, expand the data source that you just added.
Click the ... button next to the text No schemas selected.
Select the option All schemas to instruct IntelliJ to introspect all
schemas in the database. IntelliJ will then populate the database view with
all tables and views in your database.
What's next
For more documentation on how to add and work with data sources in IntelliJ,
visit IntelliJ Data sources.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Integrate Spanner with IntelliJ\n\nThis page describes how to connect to a Spanner database in IntelliJ and\nother JetBrains products.\n\n[IntelliJ IDEA](https://www.jetbrains.com/idea/) is an integrated development environment\nfor developing software in Java, Kotlin, Groovy, and other JVM-based languages.\n\nThis page assumes that you already have IntelliJ or another JetBrains IDE\ninstalled on your computer.\n\nConnect to Spanner\n------------------\n\nConnecting IntelliJ to your Spanner database lets you execute queries\nand other SQL statements on your Spanner database directly from\nIntelliJ. It also enables code completion and validation for table and column\nnames in your code.\n\nYou can connect to both GoogleSQL-dialect databases and PostgreSQL-dialect databases by following these steps:\n\n1. In IntelliJ, click the menu option\n `File \u003e New \u003e Datasource \u003e Google Spanner`.\n The `Google Spanner` driver is under the `Other` sub-menu if you have\n not used this driver before.\n\n2. In the Data Sources window, enter your project, instance, and database ID.\n\n3. Optional: Select a service account key file if you want to authenticate using\n a service account. Select `No Auth` in the Credentials drop-down if you want\n to use your default credentials.\n\n4. Click OK to create the data source. The Spanner database is\n added to the Database window in IntelliJ.\n\n5. In the Databases window, expand the data source that you just added. Then\n click the `...` button next to the text `No schemas selected`.\n\n6. Select the option `All schemas` to instruct IntelliJ to introspect all\n schemas in the database. IntelliJ will then populate the database view with\n all tables and views in your database.\n\nConnect to the Spanner Emulator\n-------------------------------\n\nYou can also connect IntelliJ to a database in the\n[Spanner Emulator](https://cloud.google.com/spanner/docs/emulator):\n\n1. First start the emulator with one of the following commands:\n\n 1. `gcloud emulators spanner start`\n 2. `docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator`\n2. Click the menu option `File \u003e New \u003e Datasource \u003e Google Spanner`.\n The `Google Spanner` driver is under the `Other` sub-menu if you have\n not used this driver before.\n\n3. Enter the project, instance, and database ID. **NOTE**: The project, instance\n and database do not need to exist in the emulator.\n\n4. Select `No Auth` in the Credentials drop-down.\n\n5. Click the `Advanced` tab in the Data Sources window.\n\n6. Modify the value of `autoConfigEmulator` to `true`.\n\n7. Click OK to accept all changes. The project, instance, and database will\n be created on the emulator automatically if these do not exist already.\n\n8. In the Databases window, expand the data source that you just added.\n Click the `...` button next to the text `No schemas selected`.\n\n9. Select the option `All schemas` to instruct IntelliJ to introspect all\n schemas in the database. IntelliJ will then populate the database view with\n all tables and views in your database.\n\nWhat's next\n-----------\n\n- For more documentation on how to add and work with data sources in IntelliJ, visit [IntelliJ Data sources](https://www.jetbrains.com/help/idea/managing-data-sources.html).\n- Learn more about the [Spanner Emulator](https://cloud.google.com/spanner/docs/emulator)."]]