Stay organized with collections Save and categorize content based on your preferences.
You can use the PostgreSQL command-line client to connect to Cloud SQL. This page describes how to connect a psql
client to your Cloud SQL instance, whether running locally on your client machine, on a Compute Engine VM, or in the Cloud Shell.
psql
commands:
SET PGCLIENTENCODING=utf-8
chcp 65001
Note: For information about connecting a client to a Cloud SQL instance using the Cloud SQL Auth Proxy, see Connect using the Cloud SQL Auth Proxy. For information about connecting using private IP, see Configure private IP. Before you begin
Before you can use a psql
client to connect to your Cloud SQL instance, do the following:
Create a Cloud SQL instance, including configuring the default user.
See Create instances and Set the password for the default user account.
Optionally, create a Compute Engine VM instance and then connected to the instance using SSH.
See Create and start a VM instance, About SSH connections, or Connect to Windows VMs using RDP.
Determine how you'll connect to your instance.
For the connection options and how to choose from among them, see About connection options.
Using a psql
client to connect to your Cloud SQL instance involves three high-level tasks:
To install the psql
client, do the following:
Install the psql client from the package manager:
sudo apt-get update sudo apt-get install postgresql-clientCentOS/RHEL
Install the psql client from the package manager:
sudo yum install postgresqlopenSUSE
Install the psql client from the package manager:
sudo zypper install postgresqlOther platforms
To configure access to your instance, do the following:
In the Google Cloud console, go to the Cloud SQL Instances page.
psql
client IP address you authorize must both be IPv4.To let you connect without encryption, the instance must have SSL mode set to ALLOW_UNENCRYPTED_AND_ENCRYPTED
. In the Google Cloud console, the equivalent configuration is Allow unencrypted network traffic.
For more information about the SSL/TLS configuration of your instance, see Configure SSL/TLS certificates.
To connect to your instance, do the following:
psql
client:
psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
To connect to your instance using SSL/TLS and built-in authentication:
psql
client:
psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
For example:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
You might also want to create a Connection Service File to manage your connection parameters, especially if you are connecting to more than one instance. For more information, see the PostgreSQL documentation.
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
If ssl_mode
on your Cloud SQL instance is configured to TRUSTED_CLIENT_CERTIFICATE_REQUIRED
, then you must also provide a verified client identity when you log in.
To connect using SSL/TLS certificates with client verification, you need the following:
In addition, to let the client verify the server's identity for mutual authentication, specify the server certificate server-ca.pem.
For example, to start the
psql
client:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
If you do not have a client certificate and a corresponding private key, then create a new client certificate.
Using the client in the Cloud ShellTo connect to a Cloud SQL instance (public IP only):
The Cloud Shell takes a few moments to initialize.
gcloud sql connect INSTANCE_ID \ --user=postgres
The gcloud sql connect
command does not support connecting to a Cloud SQL instance using private IP, or using SSL/TLS. To connect with encryption, install and use the proxy in the Cloud Shell:
/home/USER
directory../cloud-sql-proxy INSTANCE_CONNECTION_NAME &
psql -U USERNAME --host=127.0.0.1
psql
client works with SSL.If you're new to Google Cloud, create an account to evaluate how Cloud SQL performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
Try Cloud SQL freeExcept as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-02 UTC.
[[["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-07-02 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4