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

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

最終更新日:Sep 25, 2026

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

前提条件

接続する前に、以下を確認してください。

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

    集中型 PolarDB for PostgreSQL クラスター

    集中型 PolarDB for PostgreSQL クラスターは、データベースエディションが Enterprise Edition または Standard Edition に設定されています。

    PolarDB コンソールにログインします。 クラスターリストで、クラスター ID をクリックして[基本情報] ページを開きます。 [データベース接続] セクションで、クラスターのエンドポイント情報を確認します。image

    説明
    • [クラスターエンドポイント]で接続します。デフォルトポートは 3306 です。

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

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

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

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

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

    分散型 PolarDB for PostgreSQL クラスター

    PolarDB コンソールにログインします。クラスターリストでクラスター ID をクリックして [基本情報] ページを開き、[データベース接続] セクションで エンドポイント情報を確認します。image

    説明
    • デフォルトでは、分散型 PolarDB for PostgreSQL クラスターには [プライマリエンドポイント] が 1 つあります。デフォルトのポートは 5432 です。

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

      • 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 ip.me を実行します。

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

      ネットワークでプロキシを使用している場合、上記の方法では実際のパブリック IP アドレスが返されない可能性があります。一時的に 0.0.0.0/0 CIDR ブロックを PolarDB クラスターのホワイトリストに追加してください。接続後、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 を使用した接続

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

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

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

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

クライアントを使用した接続

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

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

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

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

    image

    パラメーター

    説明

    [ホスト名/アドレス]

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

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

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

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

    [ポート]

    [ユーザー名]

    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 クラスターにアクセスするには、[パブリック] エンドポイントとポートを指定します。

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

port

username

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

dbname

データベース名。

例

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

プログラミング言語による接続

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

Java

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

  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、 のクラスターに接続します。

  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、 のクラスターに接続します。

  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()
    }
    

よくある質問

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

次の手順でトラブルシューティングを行ってください。

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

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

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

    1. [Private] エンドポイントをご利用の場合:

      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 ip.me を実行します。

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

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

    image

エラー「password authentication failed for user」が表示されて PolarDB クラスターに接続できない

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

エラー「name or service not known」が表示されて PolarDB クラスターに接続できない

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

エラー「connection timed out」が表示されて PolarDB クラスターに接続できない

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

パブリック IP アドレスを取得する方法:

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

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

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

ネットワークでプロキシを使用している場合、上記の方法では実際のパブリック IP アドレスが返されない可能性があります。一時的に 0.0.0.0/0 CIDR ブロックを PolarDB クラスターのホワイトリストに追加してください。接続後、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 ウィンドウを閉じて新しいウィンドウを開き、設定が反映されていることを確認してください。

関連ドキュメント