雲原生資料倉儲AnalyticDB PostgreSQL版支援使用PostgreSQL或Greenplum的JDBC驅動包串連。本文介紹如何通過JDBC串連資料庫。
前提條件
已擷取AnalyticDB PostgreSQL版執行個體的串連地址。
如果您的用戶端部署在與AnalyticDB PostgreSQL版執行個體在同一地區且網路類型相同的ECS上,則可以使用內網地址進行串連。在AnalyticDB PostgreSQL版詳情頁的資料庫連接資訊地區,可擷取執行個體的內網地址。
如果您的用戶端部署在與AnalyticDB PostgreSQL版執行個體在不同地區或網路類型不同的ECS或者阿里雲以外的系統上,則需要申請外網地址後使用外網地址進行串連。申請外網地址的方法,請參見管理外網地址。
已擷取用戶端的IP地址,並將用戶端地址加入AnalyticDB PostgreSQL版執行個體白名單中。具體操作,請參見設定白名單。
操作步驟
下載方法如下。
下載PostgreSQL官方的JDBC驅動,下載之後加入到環境變數中。
說明AnalyticDB for PostgreSQL7.0對JDBC版本有特殊要求,需要JDBC V42.2.0及以上版本。
程式碼範例如下。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class gp_conn { public static void main(String[] args) { try { Class.forName("org.postgresql.Driver"); Connection db = DriverManager.getConnection("<jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:5432/postgres>","myusername","mypassword"); /* jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:5432/postgres>:資料庫連接地址 myusername:資料庫帳號 mypassword:資料庫密碼 */ Statement st = db.createStatement(); ResultSet rs = st.executeQuery("<SELECT * FROM gp_segment_configuration;>"); while (rs.next()) { System.out.print(rs.getString(1)); System.out.print(" | "); System.out.print(rs.getString(2)); System.out.print(" | "); System.out.print(rs.getString(3)); System.out.print(" | "); System.out.print(rs.getString(4)); System.out.print(" | "); System.out.print(rs.getString(5)); System.out.print(" | "); System.out.print(rs.getString(6)); System.out.print(" | "); System.out.print(rs.getString(7)); System.out.print(" | "); System.out.print(rs.getString(8)); System.out.print(" | "); System.out.print(rs.getString(9)); System.out.print(" | "); System.out.print(rs.getString(10)); System.out.print(" | "); System.out.println(rs.getString(11)); } rs.close(); st.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
更多關於JDBC驅動的資訊,請參見JDBC驅動文檔。
相關文檔
Greenplum官網也提供了安裝包,包含JDBC、ODBC和libpq,您可以方便地安裝和使用。具體內容,請參見Greenplum官方文檔。