Data Management (DMS)、pgAdmin、psql、またはプログラミング言語を使用して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターに接続します。
前提条件
接続する前に、以下の準備を完了してください。
これで、クラスターに接続できます。
クラスターへの接続
接続方法を選択してください。
DMS を使用したクラスターへの接続
DMS は、データベース管理、セキュリティ監査、パフォーマンス最適化を提供します。 DMS で PolarDB クラスターを直接管理できます。
-
PolarDB コンソールにログインします。クラスターリストで、クラスター ID をクリックして [基本情報] ページを開きます。右上隅にある [データベースにログイン] をクリックします。

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

-
ログイン後、左側のナビゲーションペインでを選択して、クラスターを管理します。

クライアントを使用したクラスターへの接続
この手順では、pgAdmin 4 を使用して PolarDB クラスターに接続します。
-
pgAdmin 4 クライアントをダウンロードしてインストールします。
-
pgAdmin 4 クライアントを開き、[サーバー] を右クリックして、 を選択します。

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


パラメーター
説明
[ホスト名/アドレス]
PolarDB クラスターのクラスターエンドポイントとポート。
-
ECS インスタンスから PolarDB クラスターにアクセスし、その ECS インスタンスが PolarDB クラスターと同じ VPC 内にある場合は、[プライベート] エンドポイントとポートを指定します。
-
オンプレミス環境から PolarDB クラスターにアクセスするには、[パブリック] エンドポイントとポートを指定します。
-
デフォルトのポート番号は 1521 です。
[ポート]
[ユーザー名]
PolarDB クラスターのデータベースアカウントとパスワード。
[パスワード]
-
-
接続に成功すると、次のページが表示されます。
説明postgresはデフォルトのシステムデータベースです。 このデータベースではいかなる操作も行わないでください。
psql を使用したクラスターへの接続
PostgreSQL Downloads から psql をダウンロードして、PolarDB クラスターに接続できます。 PolarDB-Tools の psql を使用して PolarDB クラスターに接続することもできます。
-
接続方法は Windows と Linux で同じです。
-
公式の psql ドキュメントで詳細な使用方法を確認できます。
構文
psql -h <host> -p <port> -U <username> -d <dbname>
|
パラメーター |
説明 |
|
|
PolarDB クラスターのクラスターエンドポイントとポート。
|
|
|
|
|
|
PolarDB クラスターのデータベースアカウント。 |
|
|
例
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) クラスターに接続します。
-
pom.xml ファイルに PostgreSQL JDBC ドライバーの依存関係を追加します。 サンプルコード:
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.2.18</version> </dependency> -
クラスターに接続します。
<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) クラスターに接続します。
-
psycopg2 ライブラリをインストールします。
pip3 install psycopg2-binary -
クラスターに接続します。
<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 などの最新ドライバーの使用が推奨されます。
-
lib/pqドライバーをインストールします。go get -u github.com/lib/pq -
クラスターに接続します。
<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
PolarDB クラスターに接続できません。 「password authentication failed for user」というエラーメッセージが表示されます
PolarDB クラスターに接続できません。 「name or service not known」というエラーメッセージが表示されます
PolarDB クラスターに接続できません。 「connection timed out」というエラーメッセージが表示されます
DMS を使用してPolarDBクラスターの接続方法をプライマリエンドポイントからクラスターエンドポイントに変更する方法
参考資料
-
Oracle 構文互換性 1.0:クライアントとドライバーの概要





