すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:JDBC

最終更新日:Mar 29, 2026

AnalyticDB for PostgreSQL は、PostgreSQL および Greenplum の Java Database Connectivity (JDBC) ドライバーをサポートしています。本ガイドでは、JDBC を使用して AnalyticDB for PostgreSQL インスタンスに接続する方法について説明します。

前提条件

作業を開始する前に、以下の項目を準備してください。

  • AnalyticDB for PostgreSQL インスタンスのイントラネットまたはパブリックエンドポイント

    • イントラネットエンドポイント:クライアントが、AnalyticDB for PostgreSQL インスタンスと同じリージョンかつ同じネットワークタイプの Elastic Compute Service (ECS) インスタンス上で実行されている場合に使用します。AnalyticDB for PostgreSQL コンソール基本情報ページにあるデータベース接続情報セクションでエンドポイントを確認できます。

    • パブリックエンドポイント: クライアントが異なるリージョンに存在する場合、異なるネットワークタイプを使用する場合、または Alibaba Cloud の外部で実行される場合に使用します。まず、パブリックエンドポイントを申請してください。詳細については、「パブリックエンドポイントの管理」をご参照ください。

  • インスタンスの IP アドレスホワイトリストに追加されたクライアント IP アドレス。 詳細については、「IP アドレスホワイトリストを設定する」をご参照ください。

JDBC を使用したインスタンスへの接続

手順 1:JDBC ドライバーの追加

PostgreSQL 公式サイトから PostgreSQL JDBC ドライバーをダウンロードし、環境変数にドライバーを追加します。

AnalyticDB for PostgreSQL V7.0 では、JDBC V42.2.0 以降が必要です。

手順 2:接続とクエリの実行

以下の例では、AnalyticDB for PostgreSQL インスタンスに接続し、gp_segment_configuration に対してクエリを実行し、結果を出力します。認証情報はハードコードを避けるため、環境変数から読み取ります。

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) {
        // 認証情報を環境変数から読み取り
        String host     = System.getenv("ADB_PG_HOST");      // 例: mygpdbpub.gpdb.rds.aliyuncs.com
        String port     = System.getenv("ADB_PG_PORT");      // 例: 5432
        String database = System.getenv("ADB_PG_DATABASE");  // 例: 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();
        }
    }
}

プログラムを実行する前に、以下の環境変数を設定してください。

変数説明
ADB_PG_HOSTインスタンスのエンドポイントmygpdbpub.gpdb.rds.aliyuncs.com
ADB_PG_PORTインスタンスがリッスンするポート5432
ADB_PG_DATABASEデータベース名postgres
ADB_PG_USERNAMEデータベースアカウント名myusername
ADB_PG_PASSWORDデータベースアカウントパスワード

JDBC URL のフォーマットは次のとおりです。

jdbc:postgresql://<host>:<port>/<database>

サポートされている接続パラメーターの完全な一覧については、PostgreSQL JDBC ドライバードキュメントをご参照ください。

次のステップ

  • Greenplum には、JDBC、ODBC、libpq ドライバーを含むツールパッケージも提供されています。詳細については、Greenplum ドキュメントをご参照ください。