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

PolarDB:データベースへの接続

最終更新日:Aug 13, 2026

Data Management (DMS)、pgAdmin、psql、またはプログラミング言語を使用して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターに接続します。

前提条件

接続する前に、以下の準備を完了してください。

  • クラスターエンドポイントとポートの取得

    Log on to the PolarDB console. In the cluster list, click a cluster ID to open the [Basic Information] page. View the endpoint information in the [Database Connections] section.image

    説明
    • Use the [Cluster Endpoint] to connect. The default port is 1521.

    • アクセス環境に応じて、[プライベート] または [パブリック] エンドポイントを使用してください。

      • PolarDB クラスターと同一 VPC 内の ECS インスタンスから PolarDB クラスターにアクセスするには、[プライベート] エンドポイントを使用します。

      • オンプレミス環境から PolarDB クラスターにアクセスするには、[パブリック] エンドポイントを使用します。 パブリックエンドポイントは、デフォルトでは存在しません。[適用] をクリックして作成します。

    • PolarDB クラスターは、[パブリックエンドポイント] 経由で接続した場合、最適なパフォーマンスを発揮できません。

    • 仮想ホストと軽量サーバーは、[プライベート] エンドポイントを介して PolarDB クラスターに接続できません。

  • データベースアカウントの作成

    PolarDB コンソールにログインします。 クラスターリストで、クラスター ID をクリックして [基本情報] ページを開きます。 左側のナビゲーションペインで、[設定と管理] > [アカウント] を選択して データベースアカウントを作成しますimage

    説明

    [特権アカウント] または [標準アカウント] を作成できます。これらのアカウントタイプには、異なる権限があります。要件に基づいてアカウントを作成してください。

  • クラスターホワイトリストの設定

    PolarDB コンソールにログインします。 クラスターリストで、クラスター ID をクリックして[基本情報] ページを開きます。 左側のナビゲーションペインで、[設定と管理] > [クラスターホワイトリスト]を選択し、IP ホワイトリストまたはセキュリティグループを追加します。image

    説明
    • PolarDB クラスターと同じ VPC 内の ECS インスタンスから PolarDB クラスターにアクセスするには、ECS インスタンスの内部 IP アドレスをホワイトリストに追加するか、そのセキュリティグループを追加します。

    • PolarDB クラスターとは異なる VPC 内の ECS インスタンスから PolarDB クラスターにアクセスするには、ECS インスタンスのパブリック IP アドレスをホワイトリストに追加するか、そのセキュリティグループを追加します。

    • オンプレミス環境から PolarDB クラスターにアクセスするには、パブリック IP アドレスをホワイトリストに追加します。

      パブリック IP アドレスの取得:

      • Linux:curl ifconfig.me を実行します。

      • Windows:コマンドプロンプトで curl ifconfig.me を実行します。

      • macOS:ターミナルで curl ifconfig.me を実行します。

      ネットワークがプロキシを使用している場合、上記の方法では実際のパブリック IP アドレスが返されないことがあります。 PolarDB クラスターのホワイトリストに一時的に 0.0.0.0/0 の CIDR ブロックを追加してください。 接続後、SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; を実行して実際のパブリック IP アドレスを確認し、それをホワイトリストに追加してください。 その後、0.0.0.0/0 の CIDR ブロックを削除してください。

      image

    • IP ホワイトリストに 0.0.0.0/0 の CIDR ブロックを追加すると、すべてのソースからクラスターへのアクセスが許可されます。 この CIDR ブロックは、必要な場合にのみ使用してください。

これで、クラスターに接続できます。

クラスターへの接続

接続方法を選択してください。

DMS を使用したクラスターへの接続

DMS は、データベース管理、セキュリティ監査、パフォーマンス最適化を提供します。 DMS で PolarDB クラスターを直接管理できます。

  1. PolarDB コンソールにログインします。クラスターリストで、クラスター ID をクリックして [基本情報] ページを開きます。右上隅にある [データベースにログイン] をクリックします。image

  2. ダイアログボックスにデータベースアカウントとパスワードを入力し、[ログイン] をクリックします。image

  3. ログイン後、左側のナビゲーションペインで[データベースインスタンス] > [接続済みインスタンス]を選択して、クラスターを管理します。image

クライアントを使用したクラスターへの接続

この手順では、pgAdmin 4 を使用して PolarDB クラスターに接続します。

  1. pgAdmin 4 クライアントをダウンロードしてインストールします。

  2. pgAdmin 4 クライアントを開き、[サーバー] を右クリックして、[登録 > サーバー...] を選択します。image

  3. [一般] タブで、接続名を設定します。[接続] タブで、接続パラメーターを設定し、[保存] をクリックします。image

    image

    パラメーター

    説明

    [ホスト名/アドレス]

    PolarDB クラスターのクラスターエンドポイントとポート

    • ECS インスタンスから PolarDB クラスターにアクセスし、その ECS インスタンスが PolarDB クラスターと同じ VPC 内にある場合は、[プライベート] エンドポイントとポートを指定します。

    • オンプレミス環境から PolarDB クラスターにアクセスするには、[パブリック] エンドポイントとポートを指定します。

    • デフォルトのポート番号は 1521 です。

    [ポート]

    [ユーザー名]

    PolarDB クラスターのデータベースアカウントとパスワード

    [パスワード]

  4. 接続に成功すると、次のページが表示されます。image

    説明

    postgres はデフォルトのシステムデータベースです。 このデータベースではいかなる操作も行わないでください。

psql を使用したクラスターへの接続

PostgreSQL Downloads から psql をダウンロードして、PolarDB クラスターに接続できます。 PolarDB-Tools の psql を使用して PolarDB クラスターに接続することもできます。

説明
  • 接続方法は Windows と Linux で同じです。

  • 公式の psql ドキュメントで詳細な使用方法を確認できます。

構文

psql -h <host> -p <port> -U <username> -d <dbname>

パラメーター

説明

host

PolarDB クラスターのクラスターエンドポイントとポート

  • ECS インスタンスから PolarDB クラスターにアクセスし、ECS インスタンスが PolarDB クラスターと同じ VPC 内にある場合は、[プライベート] エンドポイントとポートを指定します。

  • オンプレミス環境から PolarDB クラスターにアクセスするには、[パブリック] エンドポイントとポートを指定します。

  • デフォルトのポート番号は 1521 です

port

username

PolarDB クラスターのデータベースアカウント

dbname

データベース名

psql -h pc-xxx.rwlb.rds.aliyuncs.com -p 1521 -U testusername -d postgres

プログラミング言語でのクラスターへの接続

PolarDB for PostgreSQL (Compatible with Oracle) クラスターへの接続は、通常の PostgreSQL データベースへの接続と同様です。クラスターエンドポイント、ポート、アカウント、パスワードを更新するだけです。

Java

Maven ベースの Java プロジェクトで PostgreSQL JDBC ドライバーを使用して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターに接続します。

  1. pom.xml ファイルに PostgreSQL JDBC ドライバーの依存関係を追加します。 サンプルコード:

    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>42.2.18</version>
    </dependency>
  2. クラスターに接続します。 <HOST><PORT><USER><PASSWORD><DATABASE><YOUR_TABLE_NAME><YOUR_TABLE_COLUMN_NAME> の各プレースホルダーを、実際のクラスター接続パラメーターに置き換えてください。

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class PolarDBConnection {
        public static void main(String[] args) {
            // データベースの URL、ユーザー名、パスワード。
            String url = "jdbc:postgresql://<HOST>:<PORT>/<DATABASE>";
            String user = "<USER>";
            String password = "<PASSWORD>";
    
            try {
                // PostgreSQL JDBCドライバーをロードします。
                Class.forName("org.postgresql.Driver");
                
                // 接続を確立します。
                Connection conn = DriverManager.getConnection(url, user, password);
                
                // Statement オブジェクトを作成します。
                Statement stmt = conn.createStatement();
                
                // SQLクエリを実行します。
                ResultSet rs = stmt.executeQuery("SELECT * FROM <YOUR_TABLE_NAME>");
                
                // 結果セットを処理します。
                while (rs.next()) {
                    System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>"));
                }
                
                // リソースを閉じます。
                rs.close();
                stmt.close();
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

Python

Python 3 の psycopg2 ライブラリを使用して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターに接続します。

  1. psycopg2 ライブラリをインストールします。

    pip3 install psycopg2-binary
  2. クラスターに接続します。 <HOST><PORT><USER><PASSWORD><DATABASE><YOUR_TABLE_NAME> の各プレースホルダーを、実際のクラスター接続パラメーターに置き換えてください。

    import psycopg2
    
    try:
        # 接続パラメーター
        conn = psycopg2.connect(
            host="<HOST>",  # クラスターのエンドポイント。
            database="<DATABASE>",  # データベース名。
            user="<USER>",  # ユーザー名。
            password="<PASSWORD>",  # パスワード。
            port="<PORT>"  # ポート番号。
        )
    
        # カーソルオブジェクトを作成します。
        cursor = conn.cursor()
    
        # クエリを実行します。
        cursor.execute("SELECT * FROM <YOUR_TABLE_NAME>")
    
        # すべての結果を取得します。
        records = cursor.fetchall()
        for record in records:
            print(record)
            
    except Exception as e:
        print("Error:", e)
    finally:
        # 接続を閉じます。
        if 'cursor' in locals():
            cursor.close()
        if 'conn' in locals():
            conn.close()

Go

この例では、Go 1.23.0 の database/sql パッケージと lib/pq ドライバーを使用して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターへの接続方法を説明します。なお、lib/pq は現在メンテナンスモードにあり、新規プロジェクトでは pgx などの最新ドライバーの使用が推奨されます。

  1. lib/pq ドライバーをインストールします。

    go get -u github.com/lib/pq
  2. クラスターに接続します。 <HOST><PORT><USER><PASSWORD><DATABASE><YOUR_TABLE_NAME> の各プレースホルダーを、実際のクラスター接続パラメーターに置き換えてください。

    package main
    
    import (
        "database/sql"
        "fmt"
        "log"
    
        _ "github.com/lib/pq" // PostgreSQLドライバーを初期化します。
    )
    
    func main() {
        // 接続文字列の形式。
        connStr := "user=<USER> password=<PASSWORD> dbname=<DATABASE> host=<HOST> port=<PORT> sslmode=disable"
    
        // データベース接続を開きます。
        db, err := sql.Open("postgres", connStr)
        if err != nil {
            log.Fatal(err)
        }
        defer db.Close() // プログラムの終了時に接続を閉じます。
    
        // 接続をテストします。
        err = db.Ping()
        if err != nil {
            log.Fatal(err)
        }
        fmt.Println("Connected to PostgreSQL!")
    
        // クエリを実行します。
        rows, err := db.Query("SELECT * FROM <YOUR_TABLE_NAME>")
        if err != nil {
            log.Fatal(err)
        }
        defer rows.Close()
    }
    

FAQ

ECS インスタンスからPolarDB クラスターに接続できないのはなぜですか?

次の点を確認してください。

  1. PolarDB クラスターが [実行中] 状態であるかどうかを確認します。

  2. データベースのクラスターエンドポイント、ポート、アカウント、パスワードを確認してください。 「データベースのクラスターエンドポイントとポートを取得します」をご参照ください。

  3. ECS インスタンスから ping または telnet を使用してネットワーク接続をテストしてください。

    1. [プライベート] エンドポイントを使用している場合:

      1. ECS インスタンスと PolarDB クラスターが同じ VPC 内にあることを確認してください。そうでない場合、[プライベート] エンドポイントは利用できません。ECS インスタンスと PolarDB クラスターを接続するには、次のいずれかの方法を使用します。

      2. ECS インスタンスのプライベート IP アドレス、CIDR ブロック、またはセキュリティグループが PolarDB クラスターのホワイトリストに含まれていることを確認してください。 「クラスターホワイトリストを設定します」をご参照ください。

    2. [パブリック] エンドポイントを使用している場合は、ECS インスタンスのパブリック IP アドレスまたはセキュリティグループが PolarDB クラスターのホワイトリストに含まれていることを確認してください。 クラスターのホワイトリストを設定する

説明

仮想ホストと軽量サーバーは、[プライベート] エンドポイントを介して PolarDB クラスターに接続できません。

オンプレミス環境から PolarDB クラスターに接続できないのはなぜですか?

次の点を確認してください。

  1. PolarDB クラスターが [実行中] 状態であるかどうかを確認します。

  2. データベースのクラスターエンドポイント、ポート、アカウント、パスワードを確認してください。 「データベースのクラスターエンドポイントとポートを取得します」をご参照ください。

  3. 説明

    [パブリック] エンドポイントを使用する必要があります。PolarDB クラスターと同じ VPC 内にある ECS インスタンスを使用している場合は、[プライベート] エンドポイントを使用できます。

  4. ローカル環境から ping または telnet を使用してネットワーク接続をテストしてください。

  5. ローカル環境のパブリック IP アドレスまたは CIDR ブロックが PolarDB クラスターのホワイトリストに含まれていることを確認してください。 「ホワイトリストを設定します」をご参照ください。

    パブリック IP アドレスの取得:

    • Linux:curl ifconfig.me を実行します。

    • Windows:コマンドプロンプトで curl ifconfig.me を実行します。

    • macOS:ターミナルで curl ifconfig.me を実行します。

    ネットワークがプロキシを使用している場合、上記の方法では実際のパブリック IP アドレスが返されないことがあります。 PolarDB クラスターのホワイトリストに一時的に 0.0.0.0/0 の CIDR ブロックを追加してください。 接続後、SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; を実行して実際のパブリック IP アドレスを確認し、それをホワイトリストに追加してください。 その後、0.0.0.0/0 の CIDR ブロックを削除してください。

    image

PolarDB クラスターに接続できません。 「password authentication failed for user」というエラーメッセージが表示されます

データベースアカウントまたはパスワードが正しくありません。認証情報を確認してください。[PolarDB コンソール]にログインし、[設定と管理] > [アカウント]を選択してデータベースアカウントとパスワードを管理します。

PolarDB クラスターに接続できません。 「name or service not known」というエラーメッセージが表示されます

クラスターエンドポイントが正しくありません。正しい形式は pc-xxx.xxx.rds.aliyuncs.com です。クラスターのエンドポイントを管理するには、[PolarDB コンソール] にログインし、[基本情報] > [データベース接続] を選択します。

PolarDB クラスターに接続できません。 「connection timed out」というエラーメッセージが表示されます

現在の環境のパブリック IP アドレスまたは CIDR ブロックが PolarDB クラスターのホワイトリストに含まれていないか、追加された値が正しくありません。

パブリック IP アドレスの取得:

  • Linux:curl ifconfig.me を実行します。

  • Windows:コマンドプロンプトで curl ifconfig.me を実行します。

  • macOS:ターミナルで curl ifconfig.me を実行します。

ネットワークがプロキシを使用している場合、上記の方法では実際のパブリック IP アドレスが返されないことがあります。 PolarDB クラスターのホワイトリストに一時的に 0.0.0.0/0 の CIDR ブロックを追加してください。 接続後、SELECT pid,usename,datname,client_addr,state,query FROM pg_stat_activity WHERE state = 'active'; を実行して実際のパブリック IP アドレスを確認し、それをホワイトリストに追加してください。 その後、0.0.0.0/0 の CIDR ブロックを削除してください。

image

DMS を使用してPolarDBクラスターの接続方法をプライマリエンドポイントからクラスターエンドポイントに変更する方法

DMS を使用してクラスターに接続する場合、システムはデフォルトで [プライマリエンドポイント] を使用してクラスターに接続します。[クラスターエンドポイント] を使用して PolarDB クラスターに接続する必要がある場合は、次の手順を実行します。

  1. DMS を使用してクラスターに接続した後、左側のナビゲーションペインで[データベースインスタンス] > [接続済みインスタンス] を選択します。クラスターを見つけて右クリックし、[編集] を選択します。

    image

  2. [編集] ダイアログボックスの [基本情報] セクションで、[接続方法] パラメーターを [接続文字列アドレス] に変更し、[クラスターエンドポイント] を入力して、[保存] をクリックします。image

重要

PolarDB クラスターへのアクセスに使用する接続文字列を変更した後は、更新された設定が有効になるように、元の SQL ウィンドウを閉じて新しいウィンドウを開いてください。

参考資料