Questa pagina descrive i driver supportati per Spanner per i database con dialetto GoogleSQL e PostgreSQL.
Google supporta i driver Spanner open source per diverse librerie e framework di mapping relazionale degli oggetti (ORM) di uso comune. Questi driver consentono l'utilizzo dei database Spanner tramite le API definite da questi framework.
Le tabelle seguenti elencano tutti gli ORM e i driver open source supportati per Spanner e le funzionalità supportate da ciascuno. Esiste una tabella per ogni dialetto SQL supportato.
Puoi anche utilizzare le librerie client di Spanner per accedere all'API Spanner. Per saperne di più, consulta Librerie client di Spanner.
Driver e ORM GoogleSQL
| Funzionalità | database/sql | GORM | Spanner JDBC | Ibernazione | Spring Data | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Lingua | Go | Go | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| Suggerimenti per le dichiarazioni | † | ||||||||||
| Mutazioni | |||||||||||
| DML batch | |||||||||||
| Batch DDL | |||||||||||
| Letture dati inattivi | |||||||||||
| Tabelle con interfoliazione | |||||||||||
| DML partizionato | |||||||||||
| Etichettatura delle sessioni | |||||||||||
| Priorità della richiesta | |||||||||||
| Tipo JSON | |||||||||||
| Tagging delle richieste | |||||||||||
| Dialetto SQL di Google | |||||||||||
| Dialetto PostgreSQL | |||||||||||
| Limitazioni | N/D | Visualizza | N/D | Visualizza | N/D | N/D | N/D | Visualizza | Visualizza | Visualizza | Visualizza |
* Questa colonna descrive R2DBC quando viene utilizzato in modo specifico con Spring Data.
† Disponibile solo quando si inviano query SQL letterali, utilizzando l'annotazione Spring Data
@Query.
Driver e ORM PostgreSQL
Tutti i driver PostgreSQL richiedono l'esecuzione del proxy PGAdapter. Per saperne di più, consulta Informazioni su PGAdapter.
Driver supportati
| Funzionalità | Spanner JDBC | PostgreSQL JDBC | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| Lingua | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| Suggerimenti per le dichiarazioni | |||||||||
| Mutazioni | |||||||||
| DML batch | |||||||||
| Batch DDL | |||||||||
| Letture dati inattivi | |||||||||
| Tabelle con interfoliazione | |||||||||
| DML partizionato | |||||||||
| Etichettatura delle sessioni | |||||||||
| Priorità della richiesta | |||||||||
| Tagging delle richieste | |||||||||
| Limitazioni | N/D | Visualizza | Visualizza | Visualizza | Visualizza | Visualizza | N/D | N/D | Visualizza |
ORM supportati
IDE e client SQL supportati
I seguenti strumenti possono connettersi ai database di dialetti PostgreSQL utilizzando PGAdapter.
| Strumento | Guida | Note |
|---|---|---|
| IntelliJ / DataGrip | Guida alla configurazione | Richiede PGAdapter. |
| DBeaver | Guida alla configurazione | Richiede PGAdapter. |
| psql | Guida alla configurazione | Strumento a riga di comando PostgreSQL standard. |
Altre integrazioni
| Strumento | Lingua | Guida | Note |
|---|---|---|---|
| postgres_fdw | C / Extension | Esempio | Foreign Data Wrapper per PostgreSQL. |
| connectorx | Python / Rust | Esempio | Libreria di caricamento dei dati ad alte prestazioni. |
| Liquibase | Java | Esempio | Gestione delle modifiche allo schema del database. |