AnalyticDB for PostgreSQL mendukung driver Java Database Connectivity (JDBC) PostgreSQL dan Greenplum. Panduan ini menjelaskan cara menghubungkan ke instans AnalyticDB for PostgreSQL menggunakan JDBC.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Titik akhir internal atau publik dari instans AnalyticDB for PostgreSQL
Titik akhir internal: gunakan jika klien Anda berjalan pada instans Elastic Compute Service (ECS) di wilayah dan jenis jaringan yang sama dengan instans AnalyticDB for PostgreSQL. Temukan titik akhir tersebut di bagian Database Connection Information pada halaman Basic Information di Konsol AnalyticDB for PostgreSQL.
Titik akhir publik: gunakan jika klien Anda berada di wilayah berbeda, menggunakan jenis jaringan berbeda, atau berjalan di luar Alibaba Cloud. Anda harus mengajukan titik akhir publik terlebih dahulu. Untuk detailnya, lihat Manage public endpoints.
Alamat IP klien yang telah ditambahkan ke daftar putih alamat IP instans tersebut. Untuk detailnya, lihat Configure an IP address whitelist.
Hubungkan ke instans menggunakan JDBC
Langkah 1: Tambahkan driver JDBC
Unduh driver JDBC PostgreSQL dari situs web resmi PostgreSQL dan tambahkan driver tersebut ke variabel lingkungan Anda.
AnalyticDB for PostgreSQL V7.0 memerlukan JDBC V42.2.0 atau versi yang lebih baru.
Langkah 2: Hubungkan dan jalankan kueri
Contoh berikut menghubungkan ke instans AnalyticDB for PostgreSQL, menjalankan kueri terhadap gp_segment_configuration, dan mencetak hasilnya. Kredensial dibaca dari variabel lingkungan untuk menghindari hardcoding nilai sensitif.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class GpConn {
public static void main(String[] args) {
// Baca kredensial dari variabel lingkungan
String host = System.getenv("ADB_PG_HOST"); // contoh: mygpdbpub.gpdb.rds.aliyuncs.com
String port = System.getenv("ADB_PG_PORT"); // contoh: 5432
String database = System.getenv("ADB_PG_DATABASE"); // contoh: postgres
String username = System.getenv("ADB_PG_USERNAME");
String password = System.getenv("ADB_PG_PASSWORD");
String url = String.format("jdbc:postgresql://%s:%s/%s", host, port, database);
try {
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM gp_segment_configuration;");
while (rs.next()) {
for (int i = 1; i <= 11; i++) {
System.out.print(rs.getString(i));
if (i < 11) System.out.print(" | ");
}
System.out.println();
}
rs.close();
stmt.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}Tetapkan variabel lingkungan berikut sebelum menjalankan program:
| Variabel | Deskripsi | Contoh |
|---|---|---|
ADB_PG_HOST | Titik akhir instans | mygpdbpub.gpdb.rds.aliyuncs.com |
ADB_PG_PORT | Port yang didengarkan oleh instans | 5432 |
ADB_PG_DATABASE | Nama database | postgres |
ADB_PG_USERNAME | Nama akun database | myusername |
ADB_PG_PASSWORD | Kata sandi akun database | — |
Format URL JDBC adalah:
jdbc:postgresql://<host>:<port>/<database>Untuk daftar lengkap parameter koneksi yang didukung, lihat dokumentasi driver JDBC PostgreSQL.
Langkah selanjutnya
Greenplum juga menyediakan paket tools yang mencakup driver JDBC, ODBC, dan libpq. Untuk detailnya, lihat dokumentasi Greenplum.