Skip to main content
Technology areas
close
AI and ML
Application development
Application hosting
Compute
Data analytics and pipelines
Databases
Distributed, hybrid, and multicloud
Industry solutions
Migration
Networking
Observability and monitoring
Security
Storage
Cross-product tools
close
Access and resources management
Costs and usage management
Infrastructure as code
SDK, languages, frameworks, and tools
/
Console
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Português – Brasil
עברית
中文 – 简体
中文 – 繁體
日本語
한국어
Sign in
Spanner
Start free
Overview
Guides
Reference
Samples
Support
Resources
Technology areas
More
Overview
Guides
Reference
Samples
Support
Resources
Cross-product tools
More
Console
Discover
Product overview
Spanner editions overview
Security, privacy, risk, and compliance overview
PostgreSQL interface
Spanner for non-relational workloads
Non-relational overview
Cassandra interface
Get started
Spanner proof of concept playbook
Set up your environment
Create and query a database
Use the Google Cloud console
Use the gcloud CLI
Manage your data using the Google Cloud console
Client libraries
C++ quickstart
C# quickstart
Go quickstart
Java quickstart
Node.js quickstart
PHP quickstart
Python quickstart
Ruby quickstart
REST quickstart
Drivers
Set up with drivers
JDBC quickstart
Go database/sql quickstart
ADO.NET quickstart
PostgreSQL drivers quickstart
Spanner CLI
Spanner CLI quickstart
Spanner CLI commands
Free trial instances
Free trial instances overview
Create a free trial instance
Data residency overview
Create and manage
Instances
Instances overview
Nodes and processing units
Regional, dual-region, and multi-region configurations
Region types
Replication
Geo-partition data
Geo-partitioning overview
Create and manage instance partitions
Create and manage data placements
Indexes and geo-partitioning
Leader-aware routing
Global and regional service endpoints
Tiered storage
Create and manage instances
Create and manage instance configurations
Change dual-region quorum
Move an instance
Autoscale instances
Autoscaling overview
Managed autoscaler
Open source Autoscaler tool
Autoscaler tool overview
Deploy the Autoscaler tool to Cloud Run functions
Deploy the Autoscaler tool to GKE
Control access and organize instances using tags
Organize instances and view costs using labels
Databases
Databases overview
Choose between GoogleSQL and PostgreSQL
Create and manage databases
Prevent accidental database deletion
Schema object drop protection
Modify the leader region of a database
Set the default time zone for a database
Manage resources using Data Catalog
Design and manage a database schema
Schemas overview
Schema design best practices
Make schema updates
Schema update best practices
Create and manage named schemas
Views overview
Create and manage views
Secondary indexes
Foreign keys
Primary key default values management
Create and manage foreign key relationships
Create and manage check constraints
Create and manage generated columns
Store arbitrary precision numeric data
Create and manage sequences
Manage table names
Create and manage locality groups
Routines
Remote functions
Manage and observe long-running operations
Configure time to live (TTL)
TTL overview
Manage data retention with TTL
TTL metrics and monitoring
Connect
Connect to a PostgreSQL-dialect database
Connect PostgreSQL clients to Spanner using PGAdapter
PGAdapter overview
Get PGAdapter
Start PGAdapter
PGAdapter session management commands
Connect PGAdapter to the emulator
Connect to Spanner using the Cassandra Adapter
Create and connect a Compute Engine VM instance to access Spanner
Connect to Spanner with a GKE cluster
Connect to Spanner from other Google Cloud services
Authenticate to Spanner
Secure and control access
Access control with IAM
IAM overview
Apply IAM roles
Fine-grained access control
Fine-grained access control overview
Fine-grained access control for change streams
Fine-grained access control for sequences
Fine-grained access control for models
Configure fine-grained access control
Access a database with fine-grained access control
Fine-grained access control privileges
Fine-grained access control system roles
Add a custom organization policy
Data encryption
Customer-managed encryption keys (CMEK)
CMEK overview
Secure a database using CMEK
Data encryption in transit
Migrate
Migration process
Migration overview
Assess your migration
Migrate your schema
Migrate your application
Optimize your schema and application performance
Migrate your data
Validate your data
Configure cutover and fallback mechanisms
Migration tools
Migration tools overview
Set up Spanner migration tool (SMT)
Primary key migration
Primary key migration overview
Migrate primary keys
Migrate from MySQL
MySQL migration overview
MySQL schema migration
Migrate schema from MySQL overview
Use SMT to migrate schema from MySQL
Migrate your MySQL data
Configure fallback for MySQL
Load sample data
Migrate from DynamoDB
Migrate from Oracle
Migrate from PostgreSQL
Migrate to a GoogleSQL-dialect database
Migrate to a PostgreSQL-dialect database
Migrate from Cassandra
Migrate Spanner to a PostgreSQL database
Import and export data
Import and export overview
Import, export, and modify data using Dataflow
Import and export data in Avro format
Import Spanner Avro files
Export data from Spanner to Avro
Import data from non-Spanner databases
Import and export data in CSV format
Import a database from Cloud SQL
Import data from PostgreSQL using COPY
Bulk loading best practices
Disaster recovery
Disaster recovery overview
Back up databases
Backups overview
Create backups
Create and manage backup schedules
Manage backups
Restore databases
Restore overview
Restore from a backup
Point-in-time recovery (PITR)
PITR overview
Recover data using PITR
Develop
Write SQL with Gemini assistance
Use case best practices
Spanner as a gaming database
Integrate language frameworks
Spanner with Hibernate
Integrate with Hibernate ORM (GoogleSQL)
Integrate with Hibernate ORM (PostgreSQL)
Write a Hibernate app that connects to Spanner
Spanner with Spring Data JPA
Integrate with Spring Data JPA (GoogleSQL)
Integrate with Spring Data JPA (PostgreSQL)
Spanner with Spring Data JDBC
Integrate with Spring Data JDBC (GoogleSQL)