Nesta página, descrevemos os drivers compatíveis com o Spanner para bancos de dados com dialetos do GoogleSQL e do PostgreSQL.
O Google oferece suporte a drivers do Spanner de código aberto para várias bibliotecas e frameworks conhecidos de mapeamento relacional de objetos (ORM). Esses drivers permitem o uso de bancos de dados do Spanner por meio de APIs definidas por esses frameworks.
As tabelas a seguir listam todos os ORMs e drivers de código aberto compatíveis com o Spanner e os recursos que cada um oferece. Há uma tabela para cada dialeto SQL compatível.
Também é possível usar as bibliotecas de cliente do Spanner para acessar a API Spanner. Para mais informações, consulte Bibliotecas de cliente do Spanner.
Drivers e ORMs do GoogleSQL
| Recurso | database/sql | GORM | JDBC do Spanner | Hibernate | Dados do Spring | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Idioma | Go | Go | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| Dicas de instrução | † | ||||||||||
| Mutações | |||||||||||
| DML em lote | |||||||||||
| DDL em lote | |||||||||||
| Leituras desatualizadas | |||||||||||
| Tabelas intercaladas | |||||||||||
| DML particionada | |||||||||||
| Rotulagem de sessão | |||||||||||
| Prioridade da solicitação | |||||||||||
| Tipo JSON | |||||||||||
| Inclusão de tags de solicitação | |||||||||||
| Dialeto SQL do Google | |||||||||||
| Dialeto do PostgreSQL | |||||||||||
| Limitações | N/A | Ver | N/A | Ver | N/A | N/A | N/A | Ver | Ver | Ver | Ver |
* Esta coluna descreve o R2DBC quando usado especificamente com dados do Spring.
† Disponível apenas ao enviar consultas SQL literais usando a anotação @Query
de dados do Spring.
Drivers e ORMs do PostgreSQL
Todos os drivers do PostgreSQL exigem que o proxy PGAdapter esteja em execução. Veja mais informações em Sobre o PGAdapter.
Drivers compatíveis
| Recurso | JDBC do Spanner | JDBC do PostgreSQL | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| Idioma | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| Dicas de instrução | |||||||||
| Mutações | |||||||||
| DML em lote | |||||||||
| DDL em lote | |||||||||
| Leituras desatualizadas | |||||||||
| Tabelas intercaladas | |||||||||
| DML particionada | |||||||||
| Rotulagem de sessão | |||||||||
| Prioridade da solicitação | |||||||||
| Inclusão de tags de solicitação | |||||||||
| Limitações | N/A | Ver | Ver | Ver | Ver | Ver | N/A | N/A | Ver |
ORMs compatíveis
| Recurso | Hibernate | Dados do Spring | GORM | SQLAlchemy 2 |
|---|---|---|---|---|
| Idioma | Java | Java | Go | Python |
| Dicas de instrução | ||||
| Mutações | ||||
| DML em lote | ||||
| DDL em lote | ||||
| Leituras desatualizadas | ||||
| Tabelas intercaladas | ||||
| DML particionada | ||||
| Rotulagem de sessão | ||||
| Prioridade da solicitação | ||||
| Inclusão de tags de solicitação | ||||
| Limitações | Ver | Ver | Ver | Ver |
IDEs e clientes SQL compatíveis
As ferramentas a seguir podem se conectar a bancos de dados com dialeto PostgreSQL usando o PGAdapter.
| Ferramenta | Guia | Observações |
|---|---|---|
| IntelliJ / DataGrip | Guia de configuração | Requer o PGAdapter. |
| DBeaver | Guia de configuração | Requer o PGAdapter. |
| psql | Guia de configuração | Ferramenta de linha de comando padrão do PostgreSQL. |
Outras integrações
| Ferramenta | Idioma | Guia | Observações |
|---|---|---|---|
| postgres_fdw | C / Extensão | Exemplo | Wrapper de dados externos para PostgreSQL. |
| connectorx | Python / Rust | Exemplo | Biblioteca de carregamento de dados de alto desempenho. |
| Liquibase | Java | Exemplo | Gestão da mudança no esquema do banco de dados. |