This page summarizes PostgreSQL language support in Spanner.
Spanner provides PostgreSQL language support by expressing Spanner database functionality through a subset of open source PostgreSQL language constructs, with extensions added to support Spanner functionality like interleaved tables and hinting.
For detailed information about this support, refer to these pages:
- Lexical structure and syntax describes how to form valid PostgreSQL statements.
- Data definition (DDL)
defines the syntax of DDL statements like
CREATE DATABASE
andCREATE TABLE
. - Data manipulation (DML)
defines the syntax of DML statements like
INSERT
andUPDATE
. - Queries defines the
syntax of the
SELECT
statement. - Subqueries defines the syntax of subqueries.
- Data types describes the data types that Spanner supports.
- Functions describes the functions that Spanner supports.
Spanner does not currently support several open source PostgreSQL features, including the following:
- Stored procedures
- Triggers
- SERIAL
- Fine-grained concurrency control
- SAVEPOINT
- Transactional DDL
- Partial indexes
- Extensions
- Foreign data wrappers
- User-defined data types, functions and operators