Cloud SQL features

This page describes the major features and capabilities of Cloud SQL.

MySQL features by Cloud SQL editions

For more information about the features for each edition of Cloud SQL for MySQL, see Introduction to Cloud SQL editions.

MySQL general feature support for Cloud SQL

  • Fully managed MySQL Community Edition databases in the cloud.
  • Instances available in the Americas, EU, Asia, and Australia. See all locations where you can create Cloud SQL instances.
  • Supports migration from source databases to Cloud SQL destination databases using Database Migration Service (DMS).
  • Customer data encrypted on Google's internal networks and in database tables, temporary files, and backups.
  • Support for secure external connections with the Cloud SQL Auth Proxy or with the SSL/TLS protocol.
  • Support for private IP (private services access).
  • Data replication between multiple zones with automatic failover.
  • Import and export databases using mysqldump, or import and export CSV files.
  • Support for MySQL wire protocol and standard MySQL connectors.
  • Automated backups, on-demand backups, and point-in-time recovery.
  • Instance cloning.
  • Integration with Google Cloud Observability logging and monitoring.
  • ISO/IEC 27001 compliant.

Supported languages for Cloud SQL for MySQL

You can use Cloud SQL with App Engine applications running in the flexible environment that are written in:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

You can also use Cloud SQL with external applications using the standard MySQL protocol.

How you can connect to Cloud SQL for MySQL instances

You can connect to a Cloud SQL instance from the following:

Connecting to Cloud SQL with Private Google Access isn't supported. Private services access is supported. For more information, see Private Access Options for Services.

User management in Cloud SQL for MySQL 8.0

Due to changes in MySQL 8.0, you can't use CREATE or DELETE statements for MySQL user management. You also can't modify user privileges using INSERT, UPDATE, or DELETE statements. Instead, use CREATE, DROP USER, GRANT, and REVOKE statements to modify user privileges. For more information, see Account management notes.

Note: Disregard information under Account management notes about running mysql_upgrade to upgrade to version 8.0. Instead, upgrade using the procedure in Upgrading MySQL on an instance.

Differences between standard MySQL functionality and Cloud SQL for MySQL

In general, the MySQL functionality provided by a Cloud SQL instance is the same as the functionality provided by a locally-hosted MySQL instance. However, there are a few differences between a standard MySQL instance and a Cloud SQL instance.

Unsupported MySQL features for Cloud SQL

The following feature is unsupported for Cloud SQL for MySQL 5.6 and 5.7:

  • The SUPER privilege

The following features are unsupported for Cloud SQL for MySQL 8.0:

Unsupported MySQL plugins for Cloud SQL

Unsupported MySQL statements for Cloud SQL

The following SQL statements generate an error with the Error 1290: The MySQL server is running with the Google option so it cannot execute this statement message:

  • LOAD DATA INFILE

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

The following statements aren't supported because MySQL instances use GTID replication:

  • CREATE TABLE ... SELECT statements
  • Transactions or statements that update both transactional and nontransactional tables

The following MySQL statement is unsupported for Cloud SQL for MySQL 5.6 and 5.7, but is supported for Cloud SQL for MySQL 8.0:

  • CREATE TEMPORARY TABLE statements inside transactions

For more information, see the MySQL documentation .

Unsupported MySQL functions for Cloud SQL

  • LOAD_FILE()

Unsupported MySQL client program features for Cloud SQL

  • mysqldump using the --tab option or options that are used with --tab. This is because the FILE privilege isn't granted for instance users. All other mysqldump options are supported. For information on using mysqldump options that optimize your file for importing into Cloud SQL, see Export from your local MySQL server using mysqldump.

  • mysqlimport without using the --local option. This is because of the LOAD DATA INFILE restriction. To import data into your Cloud SQL instance, see importing using a dump file or importing using a CSV file.

  • If you want to import databases with binary data into your Cloud SQL instance, you must use the --hex-blob option with mysqldump.

    Although hex-blob isn't a required flag when you're using a local MySQL server instance and the mysql client, it's required if you want to import any databases with binary data into your Cloud SQL instance. To import data into your Cloud SQL instance, see importing using a dump file or importing using a CSV file.

  • Not all MySQL options and parameters are enabled for editing as Cloud SQL flags.

    To request the addition of a configurable Cloud SQL flag, use the Cloud SQL Discussion group.

  • InnoDB is the only supported storage engine. For help with converting tables from MyISAM to InnoDB, see Converting table to InnoDB in the MySQL documentation.

MySQL options preset for Cloud SQL

Cloud SQL runs MySQL with a specific set of options. If an option might impact how your applications work, we note it here for your information.

skip-name-resolve

This flag impacts how hostnames are resolved for client connections. See skip-name-resolve in the MySQL documentation.

log_bin

This flag reports whether binary logging is enabled. If the --log-bin option is used, then the value of this variable is ON; otherwise it's OFF. See log_bin in the MySQL documentation.

MySQL 8.0 authentication for Cloud SQL

Cloud SQL for MySQL 8.0 uses mysql_native_password as the default authentication plugin for new users instead of caching_sha2_password. The mysql_native_password plugin is the default for MySQL 5.6 and 5.7 users.

If you want new users to use the caching_sha2_password plugin as the default authentication, you can configure your instance flag for default_authentication_plugin to use caching_sha2_password.

To configure existing users to use caching_sha2_password, use the ALTER USER command to change the authentication plugin.

Users that have caching_sha2_password authentication might need to use the get-server-public-key flag when connecting. For details, see Using SHA-2 Pluggable Authentication in the MySQL documentation.

Changes to MySQL system flags in Cloud SQL

For some MySQL system flags, Cloud SQL uses values that differ from the default values. You can't change the values for these flags. For a list of flags, see MySQL system flags changed in Cloud SQL.

Unsupported Cloud SQL features in Cloud SQL for MySQL 8.0

Cloud SQL for MySQL 8.0 doesn't support the legacy version of MySQL high availability (HA) configuration that uses failover replicas. It supports the new regional HA configuration.

PostgreSQL features by Cloud SQL editions

For more information about the features for each edition of Cloud SQL for PostgreSQL, see Introduction to Cloud SQL editions.

PostgreSQL feature support for Cloud SQL

  • Fully managed PostgreSQL databases in the cloud.
  • Instances available in the Americas, EU, Asia, and Australia. See all locations where you can create Cloud SQL instances.
  • Supports migration from source databases to Cloud SQL destination databases using Database Migration Service (DMS).
  • Customer data encrypted on Google's internal networks and in database tables, temporary files, and backups.
  • Support for secure external connections with the Cloud SQL Auth Proxy or with the SSL/TLS protocol.
  • Data replication between multiple zones with automatic failover.
  • Import and export databases using SQL dump files.
  • Support for PostgreSQL client-server protocol and standard PostgreSQL connectors.
  • Automated backups, on-demand backups, and point-in-time recovery.
  • Instance cloning.
  • Integration with Google Cloud Observability logging and monitoring.
  • Support for multiple PostgreSQL versions.
  • Logical replication

Supported PostgreSQL extensions for Cloud SQL

Cloud SQL supports many PostgreSQL extensions. For a complete list of these extensions, see Configure PostgreSQL extensions.

Supported PostgreSQL procedural languages for Cloud SQL

Cloud SQL supports the PL/pgSQL SQL procedural language.

Supported languages for Cloud SQL for PostgreSQL

You can use Cloud SQL with App Engine applications running in the flexible environment that are written in:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

You can also use Cloud SQL with external applications using the standard PostgreSQL client-server protocol.

How you can connect to Cloud SQL for PostgreSQL instances

You can connect to a Cloud SQL instance from:

Connecting to Cloud SQL with Private Google access isn't supported.

Differences between standard PostgreSQL and Cloud SQL for PostgreSQL

In general, the PostgreSQL functionality provided by a Cloud SQL instance is the same as the functionality provided by a locally-hosted PostgreSQL instance. However, there are a few differences between a standard PostgreSQL instance and a Cloud SQL instance.

Unsupported features for Cloud SQL for PostgreSQL

  • Any features that require SUPERUSER privileges

    An exception to this rule is made for the CREATE EXTENSION statement, but only for supported extensions.

  • Custom background workers

  • The psql client in Cloud Shell doesn't support operations that require a reconnection, such as connecting to a different database using the \c command.

  • Low-Level Virtual Machine (LLVM) Just-in-Time (JIT) compilation.

Notable differences between PostgreSQL and Cloud SQL for PostgreSQL

SQL Server feature support for Cloud SQL

  • Fully managed SQL Server databases in the cloud.
  • Custom machine types with up to 624 GB of RAM and 96 CPUs.
  • Up to 64 TB of storage available, with the ability to automatically increase storage size as needed.
  • Create and manage instances in the Google Cloud console.
  • Instances available in the Americas, Europe, Asia or Australia. See all locations where you can create Cloud SQL instances.
  • Customer data encrypted on Google's internal networks and in database tables, temporary files, and backups.
  • Column- and cell-level encryption for user databases.
  • Support for secure external connections with the Cloud SQL Auth Proxy or with the SSL/TLS protocol.
  • Import databases using BAK and SQL files.
  • Export databases using BAK files.
  • Automated backups, on-demand backups, and point-in-time recovery.
  • Instance cloning.
  • Integration with Stackdriver logging and monitoring.
  • SQL Server Agent enabled to facilitate replication and other jobs.
  • Data replication between multiple regions.
  • Set a default collation for databases, when creating an instance.
  • High availability through a regional persistent disk.
  • Integration with Managed Service for Microsoft Active Directory, including Windows Authentication.
  • Change Data Capture (CDC).
  • Intelligent query processing.
  • Accelerated database recovery.
  • Enhanced data classification.
  • UTF-8 character encoding support.
  • Enhanced monitoring.
  • Dynamic Data Masking (DDM).
  • Linked Servers.
  • SQL Server Audit.
  • SQL Server Publisher.
  • SQL Server Subscriber.
  • SQL Server Integration Services (SSIS) that runs on a separate host and connects to Cloud SQL.
  • SQL Server Reporting Services (SSRS) that runs on a separate host and connects to Cloud SQL.
  • The bulk copy program (bcp) utility. To learn more about downloading and installing the bcp utility, see the Microsoft documentation.
  • BACPAC file imports and exports by using SqlPackage. To learn more about downloading and installing SqlPackage, see the Microsoft documentation.
  • Bulk insert for importing data. This feature is supported only on SQL Server 2022. You can use a stored procedure for performing bulk insert. For more information, see Use bulk insert for importing data.
  • Always Encrypted without secure enclaves.

SQL Server features unavailable for Cloud SQL

The following features are unavailable in Cloud SQL and Google Cloud doesn't support them:

General SQL Server features unavailable for Cloud SQL

  • SQL Server Analysis Services (SSAS)
  • SP_Configure settings. For more information about this feature, see Configure database flags.
  • Stretch database
  • Backing up to Microsoft Azure Blob Storage
  • Buffer pool extension
  • The OPENROWSET feature
  • Data Quality Services
  • Database Log Shipping
  • Database Mail
  • Distribution Transaction Coordinator (MSDTC)
  • File tables
  • FILESTREAM support
  • Maintenance Plans
  • Performance Data Collector
  • Policy-Based Management
  • PolyBase
  • Machine Learning and R Services
  • Resource Governor
  • Server-level triggers
  • Service Broker endpoints
  • T-SQL endpoints (all operations using CREATE ENDPOINT are unavailable)
  • WCF Data Services
  • The sysadmin role and system stored procedures that require it
  • Hybrid buffer pool
  • Memory-optimized tempdb metadata
  • In-memory OLTP support for database snapshots
  • Registering external languages
  • Row-level security
  • Transparent Data Encryption (TDE). For information about encryption on Google Cloud, see About customer-managed encryption keys (CMEK) and Default encryption at rest.
  • Object storage backup and restore
  • In-memory database: persistent memory
  • Real-time operational analytics
  • Integrated acceleration and offloading
  • Hybrid buffer pool with direct write
  • Multi-write replication
  • Link to Azure SQL Managed instance
  • Contained availability group
  • Always Encrypted with secure enclaves
  • Azure Active Directory authentication
  • Support for PFX certificates and other cryptographic improvements
  • MS-TDS 8.0 protocol and TLS 1.3

Other SQL Server operations unavailable for Cloud SQL

  • ADMINISTER BULK OPERATIONS
  • ALTER ANY CREDENTIAL
  • ALTER ANY EVENT NOTIFICATION
  • ALTER ANY EVENT SESSION
  • ALTER RESOURCES
  • ALTER SETTINGS
  • AUTHENTICATE SERVER
  • CONTROL_SERVER
  • CREATE DDL EVENT NOTIFICATION
  • CREATE ENDPOINT
  • CREATE TRACE EVENT NOTIFICATION
  • EXTERNAL ACCESS ASSEMBLY
  • RESTORE
  • SHUTDOWN
  • CLR ASSEMBLIES

Supported syntax for Cloud SQL for SQL Server

Cloud SQL supports the Transact-SQL syntax.

Supported languages for Cloud SQL for SQL Server

You can use Cloud SQL with App Engine applications running in the flexible environment that are written in:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

How you can connect to Cloud SQL for SQL Server instances

You can connect to a Cloud SQL instance from:

Connecting to Cloud SQL with Private Google access isn't supported.