您可以同时使用 PostgreSQL JDBC 驱动程序和 Spanner JDBC 驱动程序 与 Spanner PostgreSQL-dialect 数据库搭配使用。本页将介绍如何 通过上述任一驱动程序将数据传输到您的数据库。
PostgreSQL JDBC 驱动程序
本部分介绍如何将 PostgreSQL JDBC 驱动程序连接到 PostgreSQL-dialect 数据库 。JDBC 是 PostgreSQL 的标准 Java 驱动程序。
要使用 PostgreSQL JDBC 驱动程序,您需要使用 PGAdapter 来 在 PostgreSQL 网络协议和 Spanner 网络协议。您可以将 PGAdapter 添加为 依赖项,并将其与应用一起在进程中运行。
1. 将 PGAdapter 和 PostgreSQL JDBC 驱动程序作为依赖项添加到 部署应用 2. 在您的应用中启动 PGAdapter。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();3. 指定
localhost
和 5432
作为数据库服务器主机和
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)); } } }
PGAdapter GitHub 代码库包含一个 有效的示例应用。
Spanner JDBC 驱动程序
本部分介绍如何使用 Spanner JDBC 驱动程序 PostgreSQL 方言数据库数据库。
1. 将 Spanner JDBC 驱动程序作为依赖项添加到应用中。 2. 使用 Spanner JDBC 连接网址连接到 PostgreSQL-dialect 数据库。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)); } } }
驱动程序会自动检测指定数据库的 SQL 方言。 不需要连接网址中的 speech 参数。
后续步骤
- 详细了解 PGAdapter。
- 如需详细了解 PostgreSQL JDBC 驱动程序连接选项,请参阅 PGAdapter - JDBC 连接选项 。