This page summarizes PostgreSQL language support in Spanner.
Spanner provides PostgreSQL language support by expressing Spanner database features through a subset of open source PostgreSQL language constructs, with extensions added to support Spanner features like interleaved tables and hints.
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.
- Stored procedures describes stored procedures that come with Spanner.
- Known issues in the PostgreSQL interface for Spanner describes PostgreSQL language features that don't work as expected.
Spanner doesn't support several open source PostgreSQL features, including the following:
- Triggers
- SERIAL
- Fine-grained concurrency control
- SAVEPOINT
- Transactional DDL
- Partial indexes
- Extensions
- Foreign data wrappers
- User-defined data types, functions and operators