您可以同時使用 PostgreSQL JDBC 驅動程式和 Spanner JDBC 驅動程式,搭配 Spanner PostgreSQL 方言資料庫。本頁面說明如何使用這兩種驅動程式連線至資料庫。
PostgreSQL JDBC 驅動程式
本節說明如何將 PostgreSQL JDBC 驅動程式連線至 Spanner 中的 PostgreSQL 方言資料庫。JDBC 是 PostgreSQL 的標準 Java 驅動程式。
使用 PostgreSQL JDBC 驅動程式時,必須使用 PGAdapter 在 PostgreSQL 網路通訊協定和 Spanner 網路通訊協定之間進行轉譯。您可以將 PGAdapter 新增為依附元件,並在應用程式中執行。
- 將 PGAdapter 和 PostgreSQL JDBC 驅動程式新增為應用程式的依附元件。
- 透過應用程式啟動 PGAdapter 內部程序。
OptionsMetadata.Builder builder = OptionsMetadata.newBuilder() .setProject("my-project") .setInstance("my-instance") .setPort(5432); ProxyServer server = new ProxyServer(builder.build()); server.startServer(); server.awaitRunning();
更改下列內容:
- my-project:PostgreSQL 方言資料庫所在的 Google Cloud專案 ID。
- my-instance:PostgreSQL 方言資料庫所在的 Spanner 執行個體 ID。
- 5432:PGAdapter 執行的通訊埠號碼。將通訊埠設為 `0`,即可使用動態指派的通訊埠。
- 確認已載入 PostgreSQL JDBC 驅動程式。
Class.forName("org.postgresql.Driver"); 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( "Greetings from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
更改下列內容:
- localhost:PGAdapter 執行的主機。
- 5432:PGAdapter 執行的通訊埠號碼。
- my-database:PostgreSQL 方言資料庫的名稱。
PGAdapter GitHub 存放區包含 可運作的範例應用程式。
Spanner JDBC 驅動程式
本節說明如何使用 Spanner JDBC 驅動程式連線至 PostgreSQL 方言資料庫。
- 將 Spanner JDBC 驅動程式新增為應用程式的依附元件。
- 使用 Spanner JDBC 連線網址,連線至 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( "Greetings from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
更改下列內容:
- my-project:PostgreSQL 方言資料庫所在的 Google Cloud專案 ID。
- my-instance:PostgreSQL 方言資料庫所在的 Spanner 執行個體 ID。
- my-database:PostgreSQL 方言資料庫的名稱。
驅動程式會自動偵測指定資料庫的 SQL 方言。連線網址中不需要方言參數。
後續步驟
- 進一步瞭解 PGAdapter。
- 如要進一步瞭解 PostgreSQL JDBC 驅動程式連線選項,請參閱 PGAdapter GitHub 存放區中的 PGAdapter - JDBC 連線選項。