本文将为您介绍如何连接PolarDB PostgreSQL版集群。
准备工作
在连接数据库集群前,您需要进行以下操作:
完成准备工作后,您就可以连接数据库集群了。
连接数据库集群
连接数据库集群的方法有很多种,您可以根据实际业务需求来选择适合的连接方式。以下列举了部分连接数据库集群的示例:
DMS是阿里云提供的图形化的数据管理工具,它是一种集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪、BI图表、性能与优化和服务器管理于一体的数据管理服务。您无需借助其他工具,即可直接在DMS上管理您的PolarDB集群。
前往PolarDB控制台,在集群列表中单击目标集群ID进入集群详情页。在页面右上角单击登录数据库。
在弹出的对话框中,输入集群中创建的数据库账号和数据库密码,单击登录。
登录后,您可以在左侧导航栏的PolarDB集群,并进行相应的管理操作。
列表中查看到所登录的
您可以使用任何通用的客户端连接PolarDB集群。此处pgAdmin 4 v9.0版本为例,其它客户端的操作类似。
下载并安装pgAdmin 4客户端。
打开pgAdmin 4客户端,右键单击Servers,选择
。在General页设置连接名称,Connection页设置要连接的集群信息,并单击Save。
参数
说明
Host name/address
PolarDB集群的数据库连接地址与端口。
如果您是使用ECS访问PolarDB,并且ECS与PolarDB位于同一VPC内,请选择私网地址与端口。
如果您是在本地环境中访问PolarDB,请选择公网地址与端口。
默认端口号为5432。
Port
Username
PolarDB集群的数据库账号和密码。
Password
查看连接结果。若连接信息无误,会出现如下界面,则表示连接成功。
postgres
是默认的系统数据库,请勿在该数据库中进行任何操作。
您可以前往PostgreSQL官网网站下载并使用psql工具连接PolarDB数据库集群。您也可以使用PolarDB提供的PolarDB-Tools工具包中的psql工具连接PolarDB数据库集群。
psql工具在Windows系统与Linux系统的连接方式一致。
更多关于psql工具的使用方法,请参见PostgreSQL官网psql使用说明。
语法
psql -h <host> -p <port> -U <username> -d <dbname>
参数 | 描述 |
| PolarDB集群的数据库连接地址与端口。
|
| |
| PolarDB集群的数据库账号。 |
| 需要管理维护的数据库。 |
示例
psql -h pc-xxx.rwlb.rds.aliyuncs.com -p 5432 -U testusername -d postgres
连接PolarDB PostgreSQL版集群的方式与连接其他PostgreSQL数据库的方式一样,仅需将数据库连接地址、端口、账号及密码等进行替换即可。以下为您列举部分开发语言如何通过应用程序访问PolarDB数据库:
此处以Maven项目为例,使用PostgreSQL JDBC驱动连接PolarDB PostgreSQL版集群。
首先,您需要在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 { // 加载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(); } } }
此处以Python3为例,使用psycopg2库连接PolarDB PostgreSQL版集群。
首先,您需要安装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("错误:", e) finally: # 关闭连接 if 'cursor' in locals(): cursor.close() if 'conn' in locals(): conn.close()
此处以go1.23.0为例,使用database/sql
包和lib/pq
驱动来连接PolarDB PostgreSQL版集群。
首先,您需要安装
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" // 初始化驱动 ) 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() }