Cloud SQL Basics
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.
Prerequisites
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.
Quick Start (PostgreSQL)
Enable the API:
gcloud services enable sqladmin.googleapis.com
Create an Instance:
gcloud sql instances create INSTANCE_NAME \
--database-version=POSTGRES_18 \
--cpu=2 \
--memory=7680MiB \
--region=REGION
Set a password for the default user:
Because this is a Cloud SQL for PostgreSQL instance, the default admin user
is postgres:
gcloud sql users set-password postgres \
--instance=INSTANCE_NAME --password=PASSWORD
Create a database:
gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME
Get the instance connection name:
You need the instance connection name (which is formatted as
PROJECT_ID:REGION:INSTANCE_NAME) to connect using the Cloud SQL Auth
Proxy. Retrieve it with the following command:
gcloud sql instances describe INSTANCE_NAME \
--format="value(connectionName)"
Connect to the instance:
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:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME
With the proxy running, connect using psql in another terminal:
psql "host=127.0.0.1 port=5432 user=postgres dbname=DATABASE_NAME password=PASSWORD sslmode=disable"
Reference Directory
Core Concepts: Instance architecture, high
availability (HA), and supported database engines.
CLI Usage: Essential gcloud sql commands for
instance, database, and user management.
Client Libraries & Connectors:
Connecting to Cloud SQL using Python, Java, Node.js, and Go.
MCP Usage: Using the Cloud SQL remote MCP
server and Gemini CLI extension.
Infrastructure as Code: Terraform
configuration for instances, databases, and users.
IAM & Security: Predefined roles, SSL/TLS
certificates, and Auth Proxy configuration.
If you need product information not found in these references, use the
Developer Knowledge MCP server search_documents tool.
Source: google/skills — distributed by TomeVault.
1---2name: google-skills-cloud-sql-basics3description: Cloud SQL Basics4---56# Cloud SQL Basics78Cloud SQL is a fully managed relational database service for MySQL, PostgreSQL,9and SQL Server. It automates time-consuming tasks like patches, updates,10backups, and replicas, while providing high performance and availability for11your applications.1213## Prerequisites1415Ensure you have the necessary IAM permissions to create and manage Cloud SQL16instances. The **Cloud SQL Admin** (`roles/cloudsql.admin`) role provides full17access to Cloud SQL resources.1819## Quick Start (PostgreSQL)20211. **Enable the API:**22 ```bash23 gcloud services enable sqladmin.googleapis.com24 ```25262. **Create an Instance:**27 ```bash28 gcloud sql instances create INSTANCE_NAME \29 --database-version=POSTGRES_18 \30 --cpu=2 \31 --memory=7680MiB \32 --region=REGION33 ```34353. **Set a password for the default user:**3637 Because this is a Cloud SQL for PostgreSQL instance, the default admin user38 is `postgres`:39 ```bash40 gcloud sql users set-password postgres \41 --instance=INSTANCE_NAME --password=PASSWORD42 ```43444. **Create a database:**45 ```bash46 gcloud sql databases create DATABASE_NAME \47 --instance=INSTANCE_NAME48 ```49505. **Get the instance connection name:**5152 You need the instance connection name (which is formatted as53 `PROJECT_ID:REGION:INSTANCE_NAME`) to connect using the Cloud SQL Auth54 Proxy. Retrieve it with the following command:55 ```bash56 gcloud sql instances describe INSTANCE_NAME \57 --format="value(connectionName)"58 ```59606. **Connect to the instance:**6162 The Cloud SQL Auth Proxy must be running to be able to connect to the63 instance. In a separate terminal, start the proxy using the connection name:64 ```bash65 ./cloud-sql-proxy INSTANCE_CONNECTION_NAME66 ```6768 With the proxy running, connect using `psql` in another terminal:69 ```bash70 psql "host=127.0.0.1 port=5432 user=postgres dbname=DATABASE_NAME password=PASSWORD sslmode=disable"71 ```7273## Reference Directory7475- [Core Concepts](references/core-concepts.md): Instance architecture, high76 availability (HA), and supported database engines.7778- [CLI Usage](references/cli-usage.md): Essential `gcloud sql` commands for79 instance, database, and user management.8081- [Client Libraries & Connectors](references/client-library-usage.md):82 Connecting to Cloud SQL using Python, Java, Node.js, and Go.8384- [MCP Usage](references/mcp-usage.md): Using the Cloud SQL remote MCP85 server and Gemini CLI extension.8687- [Infrastructure as Code](references/iac-usage.md): Terraform88 configuration for instances, databases, and users.8990- [IAM & Security](references/iam-security.md): Predefined roles, SSL/TLS91 certificates, and Auth Proxy configuration.9293*If you need product information not found in these references, use the94 Developer Knowledge MCP server `search_documents` tool.*9596---97> Source: [google/skills](https://github.com/google/skills) — distributed by [TomeVault](https://tomevault.io).98<!-- tomevault:4.0:skill_md:2026-05-01 -->