Cloud SQL is a fully managed relational database service for MySQL, PostgreSQL,
and SQL Server. It automates time-consuming tasks like patches, updates,
backups, and replicas, while providing high performance and availability for
your applications.
Ensure you have the necessary IAM permissions to create and manage Cloud SQL
instances. The Cloud SQL Admin (roles/cloudsql.admin) role provides full
access to Cloud SQL resources.
```bash
gcloud services enable sqladmin.googleapis.com --quiet
```
```bash
gcloud sql instances create INSTANCE_NAME \
--database-version=POSTGRES_18 \
--cpu=2 \
--memory=7680MiB \
--region=REGION \
--quiet
```
Because this is a Cloud SQL for PostgreSQL instance, the default admin user
is postgres:
```bash
gcloud sql users set-password postgres \
--instance=INSTANCE_NAME --password=PASSWORD \
--quiet
```
```bash
gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME \
--quiet
```
You need the instance connection name (which is formatted asPROJECT_ID:REGION:INSTANCE_NAME) to connect using the Cloud SQL Auth
Proxy. Retrieve it with the following command:
```bash
gcloud sql instances describe INSTANCE_NAME \
--format="value(connectionName)" \
--quiet
```
The Cloud SQL Auth Proxy must be running to be able to connect to the
instance. In a separate terminal, start the proxy using the connection name:
```bash
./cloud-sql-proxy INSTANCECONNECTIONNAME
```
With the proxy running, connect using psql in another terminal:
```bash
psql "host=127.0.0.1 port=5432 user=postgres dbname=DATABASE_NAME password=PASSWORD sslmode=disable"
```
availability (HA), and supported database engines.
gcloud sql commands forinstance, database, and user management.
Connecting to Cloud SQL using Python, Java, Node.js, and Go.
server and Gemini CLI extension.
configuration for instances, databases, and users.
certificates, and Auth Proxy configuration.
*If you need product information not found in these references, use the
Developer Knowledge MCP server search_documents tool.*