Connect to Cloud SQL for PostgreSQL from Cloud Shell
This page shows you how to create and connect to a PostgreSQL instance and perform basic SQL operations by using the Google Cloud console and a client. The resources created in this quickstart typically cost less than a dollar, assuming you complete the steps, including the cleanup, in a timely manner.
Before you begin
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the necessary Google Cloud APIs.
Console
In the Google Cloud console, go to the APIs page.
Enable the Cloud SQL Admin API.gcloud
Click the following button to open Cloud Shell, which provides command-line access to your Google Cloud resources directly from the browser. Cloud Shell can be used to run the
gcloud
commands presented throughout this quickstart.Run the
gcloud services enable
command as follows using Cloud Shell to enable the APIs required for this quickstart.:gcloud services enable sqladmin.googleapis.com
This command enables the following APIs:
- Cloud SQL Admin API
Create a Cloud SQL instance
In this quickstart, you use the Google Cloud console. To use the gcloud CLI, cURL, or PowerShell, see Create instances.
-
In the Google Cloud console, go to the Cloud SQL Instances page.
- Click Create instance.
- Click Choose PostgreSQL.
- In the Instance ID field, enter
myinstance
. - In the Password field, enter a password for the
postgres
user. Click Create instance.
You're returned to the instances list. You can click the new instance right away to see the details, but it won't be available for other operations until it initializes and starts.
Connect to your instance
In this quickstart, we'll use the psql client in Cloud Shell to connect to your instance. Cloud Shell is a remote, sandboxed environment.
- Optional: If you're running a local instance of PostgreSQL, stop it before
connecting to your Cloud SQL instance. Otherwise, you might encounter
errors such as
address already in use
. In the Google Cloud console, click the Cloud Shell icon () in the upper right corner.
When Cloud Shell finishes initializing, a message, such as the following one, appears:
Welcome to Cloud Shell! Type "help" to get started. Your Cloud Platform project in this session is set to sample-project. Use "gcloud config set project [PROJECT_ID]" to change to a different project. username@sample-project:~ (sample-project)$
- Optional: If you haven't authorized gcloud CLI to access the Google Cloud Platform with your Google user credentials, then use the
gcloud auth login
command. At the Cloud Shell prompt, connect to your Cloud SQL instance. Use the
gcloud sql connect
command as follows. Replace the instance name if your instance name is different.gcloud sql connect myinstance --user=postgres
- In the dialog, click Authorize to authorize Cloud Shell to make API calls.
The following message appears:
Allowlisting your IP for incoming connection for 5 minutes...done.
This message indicates that the public IP address of your Cloud SQL instance is being allowed to have incoming connections. After this message, you're prompted to enter your password.
Enter your postgres password.
The
psql
prompt appears.
Create a database and upload data
- Create a SQL database on your Cloud SQL instance:
CREATE DATABASE guestbook;
- Connect to the database by entering the following command and specifying
your password.
\connect guestbook;
- Insert sample data into the database:
CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255), entryID SERIAL PRIMARY KEY); INSERT INTO entries (guestName, content) values ('first guest', 'I got here!'); INSERT INTO entries (guestName, content) values ('second guest', 'Me too!');
- Retrieve the data:
The result is:SELECT * FROM entries;
guestname | content | entryid --------------+-------------+--------- first guest | I got here! | 1 second guest | Me too! | 2 (2 rows) postgres=>
Clean up
To avoid incurring charges to your Google Cloud account for the resources used on this page, follow these steps.
-
In the Google Cloud console, go to the Cloud SQL Instances page.
- Select the
myinstance
instance to open the Instance details page. - In the icon bar at the top of the page, click Delete.
- In the Delete instance window, type your instance's name and then click Delete.
Optional cleanup steps
If you're not using the APIs that were enabled as part of this quickstart, you can disable them.
- APIs that were enabled within this quickstart:
- Cloud SQL Admin API
In the Google Cloud console, go to the APIs page.
Select the Cloud SQL Admin API and then click the Disable API button.
What's next
Learn about creating Cloud SQL instances.
Learn about creating PostgreSQL users and databases for your Cloud SQL instance.
See the Cloud SQL pricing information.
In this quickstart you connected to the instance by using Cloud Shell. Learn about all of the connectivity options in Cloud SQL. How you connect depends on your networking configuration, such as if your Cloud SQL instance has a public or private IP address. See how to configure your Cloud SQL instance with a public IP and a private IP address.
Learn about connecting to a Cloud SQL instance from other Google Cloud applications: