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 mehrere gängige Bibliotheken und Frameworks für die objektrelationale Zuordnung (ORMs). 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 jeweils unterstützten Funktionen. 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 | Cloud 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 |
* In dieser Spalte wird R2DBC beschrieben, wenn es speziell mit Spring Data verwendet wird.
† 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.
Unterstützte Treiber
| Funktion | Cloud 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 | |||||||||
| Sitzungslabel | |||||||||
| 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 | ||||
| Sitzungslabel | ||||
| 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 | Einrichtungsleitfaden | Erfordert PGAdapter. |
| DBeaver | Einrichtungsleitfaden | 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 Datenbankschemas. |