Menghubungkan JDBC ke database dialek PostgreSQL

Anda dapat menggunakan driver JDBC PostgreSQL dan driver JDBC Spanner dengan database dialek PostgreSQL Spanner. Halaman ini menjelaskan cara terhubung ke database Anda dengan salah satu driver ini.

Driver JDBC PostgreSQL

Bagian ini menjelaskan cara menghubungkan driver JDBC PostgreSQL ke database dialek PostgreSQL di Spanner. JDBC adalah driver Java standar untuk PostgreSQL.

Penggunaan driver JDBC PostgreSQL memerlukan penggunaan PGAdapter untuk menerjemahkan antara protokol jaringan PostgreSQL dan protokol jaringan Spanner. Anda dapat menambahkan PGAdapter sebagai dependensi dan menjalankannya dalam proses dengan aplikasi Anda.

1. Tambahkan PGAdapter dan driver JDBC PostgreSQL sebagai dependensi ke aplikasi Anda.

<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>0.32.0</version>
</dependency>
<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-spanner-pgadapter</artifactId>
  <version>0.32.0</version>
</dependency>

2. Mulai PGAdapter dalam proses dengan aplikasi Anda.

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. Tentukan localhost dan 5432 sebagai host dan port server database di string koneksi 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));
    }
  }
}
      

Repositori GitHub PGAdapter berisi aplikasi contoh yang berfungsi.

Driver JDBC Spanner

Bagian ini menjelaskan cara menggunakan driver JDBC Spanner untuk terhubung ke database database dialek PostgreSQL.

1. Tambahkan driver JDBC Spanner sebagai dependensi ke aplikasi Anda.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.37.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>

2. Gunakan URL koneksi JDBC Spanner untuk terhubung ke database dialek 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));
    }
  }
}
        

Driver akan otomatis mendeteksi dialek SQL dari database yang ditentukan. Parameter dialek dalam URL koneksi tidak diperlukan.

Langkah selanjutnya