Puedes usar el controlador de JDBC de PostgreSQL y el controlador de JDBC de Spanner con una base de datos de dialecto PostgreSQL de Spanner. En esta página, se explica cómo conectar a tu base de datos con cualquiera de estos controladores.
Controlador JDBC de PostgreSQL
En esta sección, se explica cómo conectar el controlador de JDBC de PostgreSQL a una base de datos de dialectos de PostgreSQL. en Spanner. JDBC es el controlador Java estándar para PostgreSQL.
El uso del controlador PostgreSQL JDBC requiere el uso de PGAdapter para traducir entre el protocolo de red de PostgreSQL y la Protocolo de red de Spanner. Puedes agregar PGAdapter como dependencia y ejecutarla en proceso con tu aplicación.
1. Agrega PGAdapter y el controlador PostgreSQL JDBC como dependencias para tu aplicación. 2. Inicia PGAdapter en proceso con tu aplicación.OptionsMetadata.Builder builder = OptionsMetadata.newBuilder() .setProject("my-project") .setInstance("my-instance") // Set the port to 0 to use a dynamically assigned port. .setPort(5432); ProxyServer server = new ProxyServer(builder.build()); server.startServer(); server.awaitRunning();
localhost
y 5432
como el host y el puerto del servidor de la base de datos en la
Cadena de conexión de JDBC.
// Make sure the PG JDBC driver is loaded. Class.forName("org.postgresql.Driver"); // Replace localhost and 5432 with the host and port number where PGAdapter is running. try (Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/my-database")) { try (ResultSet resultSet = connection.createStatement().executeQuery("select 'Hello world!' as hello")) { while (resultSet.next()) { System.out.printf( "Greeting from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
El repositorio de GitHub de PGAdapter contiene un que funciona muy bien.
Controlador de JDBC de Spanner
En esta sección, se explica cómo usar el controlador JDBC de Spanner para conectarse a una base de datos con dialecto de PostgreSQL.
1. Agrega el controlador JDBC de Spanner como una dependencia a la aplicación. 2. Usa una URL de conexión de JDBC de Spanner para conectarte a la base de datos de dialecto de PostgreSQL.try (Connection connection = DriverManager.getConnection( "jdbc:cloudspanner:/projects/my-project/instances/my-instance/databases/my-database")) { try (ResultSet resultSet = connection.createStatement().executeQuery("select 'Hello world!' as hello")) { while (resultSet.next()) { System.out.printf( "Greeting from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
El controlador detecta automáticamente el dialecto de SQL de la base de datos especificada. No se requiere un parámetro de dialecto en la URL de conexión.
¿Qué sigue?
- Obtén más información sobre PGAdapter.
- Para obtener más información sobre las opciones de conexión del controlador JDBC de PostgreSQL, consulta PGAdapter: Opciones de conexión de JDBC en el repositorio de GitHub de PGAdapter.