Auf dieser Seite werden die Treiber beschrieben, die für Spanner für Datenbanken im GoogleSQL-Dialekt und Datenbanken im PostgreSQL-Dialekt unterstützt werden.
Google unterstützt Open-Source-Spanner-Treiber für verschiedene beliebte objektrelationale Zuordnungsbibliotheken (ORMs) und Frameworks. Diese Treiber ermöglichen die Verwendung von Spanner-Datenbanken über APIs, die von diesen Frameworks definiert werden.
In den folgenden Tabellen sind alle Open-Source-ORMs und -Treiber aufgeführt, die für Spanner unterstützt werden, sowie die Funktionen, die jeweils unterstützt werden. Für jeden unterstützten SQL-Dialekt gibt es eine Tabelle.
Sie können auch die Spanner-Clientbibliotheken verwenden, um auf die Spanner API zuzugreifen. Weitere Informationen finden Sie unter Spanner-Clientbibliotheken.
GoogleSQL-Treiber und -ORMs
| Funktion | database/sql | GORM | Spanner JDBC | Hibernate | Spring Data | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Sprache | Go | Go | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| Für Anweisungen unterstützte Hinweise | † | ||||||||||
| Mutationen | |||||||||||
| Batch-DML | |||||||||||
| Batch-DDL | |||||||||||
| Veraltete Lesevorgänge | |||||||||||
| Überlappende Tabellen | |||||||||||
| Partitionierte DML | |||||||||||
| Sitzungslabel | |||||||||||
| Anfragepriorität | |||||||||||
| JSON-Typ | |||||||||||
| Anfrage-Tagging | |||||||||||
| GoogleSQL-Dialekt | |||||||||||
| PostgreSQL-Dialekt | |||||||||||
| Beschränkungen | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht |
* Diese Spalte beschreibt R2DBC bei Verwendung speziell mit Spring Data.
† Nur verfügbar, wenn literale SQL-Abfragen mit der Spring Data-Annotation @Query gesendet werden.
PostgreSQL-Treiber und -ORMs
Für alle PostgreSQL-Treiber muss der PGAdapter-Proxy ausgeführt werden. Weitere Informationen finden Sie unter Informationen zu PGAdapter.
| Funktion | Spanner JDBC | PostgreSQL JDBC | Hibernate | pgx | GORM | psycopg2 | psycopg3 | SQLAlchemy 2 | node-postgres |
|---|---|---|---|---|---|---|---|---|---|
| Sprache | Java | Java | Java | Go | Go | Python | Python | Python | Node.js |
| Für Anweisungen unterstützte Hinweise | |||||||||
| Mutationen | |||||||||
| Batch-DML | |||||||||
| Batch-DDL | |||||||||
| Veraltete Lesevorgänge | |||||||||
| Überlappende Tabellen | |||||||||
| Partitionierte DML | |||||||||
| Sitzungslabel | |||||||||
| Anfragepriorität | |||||||||
| Anfrage-Tagging | |||||||||
| Beschränkungen | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht |