Auf dieser Seite werden die Treiber beschrieben, die für Cloud 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 Cloud Spanner-Clientbibliotheken verwenden, um auf die Cloud 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 | |||||||||||
| Sitzungen labeln | |||||||||||
| Anfragepriorität | |||||||||||
| JSON-Typ | |||||||||||
| Anfrage-Tagging | |||||||||||
| Google-SQL-Dialekt | |||||||||||
| PostgreSQL-Dialekt | |||||||||||
| Beschränkungen | – | Ansicht | – | Ansicht | – | – | – | Ansicht | Ansicht | Ansicht | Ansicht |
* In dieser Spalte wird R2DBC bei Verwendung speziell mit Spring Data beschrieben.
† Nur verfügbar, wenn literale SQL-Abfragen über die Annotation @Query von Spring Data gesendet werden.
PostgreSQL-Treiber und ORMs
Für alle PostgreSQL-Treiber muss der PGAdapter-Proxy ausgeführt werden. Weitere Informationen finden Sie unter Über PGAdapter.
Unterstützte Fahrer
| Funktion | Spanner JDBC | PostgreSQL JDBC | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| Sprache | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| Für Anweisungen unterstützte Hinweise | |||||||||
| Mutationen | |||||||||
| Batch-DML | |||||||||
| Batch-DDL | |||||||||
| Veraltete Lesevorgänge | |||||||||
| Überlappende Tabellen | |||||||||
| Partitionierte DML | |||||||||
| Sitzungen labeln | |||||||||
| Anfragepriorität | |||||||||
| Anfrage-Tagging | |||||||||
| Beschränkungen | – | Ansicht | Ansicht | Ansicht | Ansicht | Ansicht | – | – | Ansicht |
Unterstützte ORMs
| Funktion | Hibernate | Spring Data | GORM | SQLAlchemy 2 |
|---|---|---|---|---|
| Sprache | Java | Java | Go | Python |
| Für Anweisungen unterstützte Hinweise | ||||
| Mutationen | ||||
| Batch-DML | ||||
| Batch-DDL | ||||
| Veraltete Lesevorgänge | ||||
| Überlappende Tabellen | ||||
| Partitionierte DML | ||||
| Sitzungen labeln | ||||
| Anfragepriorität | ||||
| Anfrage-Tagging | ||||
| Beschränkungen | Ansicht | Ansicht | Ansicht | Ansicht |
Unterstützte IDEs und SQL-Clients
Die folgenden Tools können über PGAdapter eine Verbindung zu Datenbanken im PostgreSQL-Dialekt herstellen.
| Tool | Leitfaden | Hinweise |
|---|---|---|
| IntelliJ / DataGrip | Einrichtungsanleitung | Erfordert PGAdapter. |
| DBeaver | Einrichtungsanleitung | Erfordert PGAdapter. |
| psql | Einrichtungsanleitung | Standard-PostgreSQL-Befehlszeilentool. |
Sonstige Integrationen
| Tool | Sprache | Leitfaden | Hinweise |
|---|---|---|---|
| postgres_fdw | C / Erweiterung | Beispiel | Foreign Data Wrapper für PostgreSQL. |
| connectorx | Python / Rust | Beispiel | Hochleistungsbibliothek zum Laden von Daten. |
| Liquibase | Java | Beispiel | Änderungsmanagement für Datenbankschemata |