购买RDS PostgreSQL实例并完成必要配置(创建账号、设置白名单)后,您就可以通过数据管理DMS、pgAdmin客户端、PostgreSQL命令行工具或应用程序等方式连接RDS PostgreSQL实例,实现您的业务目标。本文介绍这些连接方法的具体操作。
前提条件
- 已创建RDS PostgreSQL实例。更多信息,请参见创建RDS PostgreSQL实例。 
- 已创建账号和数据库。更多信息,请参见创建账号和数据库。 
- 已设置白名单,允许客户端所在的ECS或本地设备访问RDS PostgreSQL实例。更多信息,请参见设置白名单。 - 如果使用ECS通过内网访问RDS PostgreSQL,ECS与RDS PostgreSQL实例必须位于同一阿里云账号下的同一地域及同一VPC内,同时应将ECS的私网IP地址添加至白名单。 
- 如果使用本地设备访问RDS PostgreSQL,则将本地设备的公网IP添加到白名单。 
 
操作步骤
数据管理DMS连接
数据管理DMS是一种集数据管理、结构管理、用户授权、安全审计、数据趋势、数据追踪、BI图表、性能与优化和服务器管理于一体的数据管理服务。关于数据库管理DMS的更多信息,请参见什么是数据管理DMS 。
- 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。 
- 在基本信息页面单击登录数据库。  
- 在DMS的登录实例页面,选择访问方式和管控模式。 - 配置项 - 说明 - 访问方式 - 通过DMS访问RDS实例的方式。本文以账号+密码登录为例。 - 账号+密码登录:使用拥有目标数据库的权限的数据库账号和密码登录。 
- KMS凭据登录:DMS会自动为实例开启安全托管,但您需要手动选择在KMS创建的RDS凭据以登录数据库。 
 - 管控模式 - 数据管理DMS提供三种实例级别的管控模式,您可以根据实际业务场景进行设置。 - 自由操作 
- 稳定变更 
- 安全协同 
 
- 登录后请刷新页面。随后,您可以在左侧已登录实例菜单中看到实例内已登录的实例及其数据库。 说明- 如果开启了安全托管,您可以在左侧免登录实例菜单中看到已登录的实例及其数据库。  - 在DMS控制台,只能通过双击目标数据库的方式切换数据库,不支持使用 - USE命令切换。
- 如果实例存在,但实例展开后未找到目标数据库,可能是: - 登录账号无目标数据库的访问权限,请更换具有相关权限的账号进行登录。 
- 元数据未同步导致目录无法显示:请将鼠标悬浮在目标数据库所属实例上,单击实例名右侧的  按钮,即可刷新数据库列表,显示目标数据库。 按钮,即可刷新数据库列表,显示目标数据库。
 - 如需快速同步数据库的库表结构,可以通过DMS空库初始化功能实现。 
 
- 除了通过RDS控制台跳转到DMS进行登录,您还可以登录DMS控制台直接录入RDS实例,录入后可以在DMS控制台快速登录数据库。详情请参见云数据库录入。 
- 如果重置了账号密码,需要重新登录DMS。 
pgAdmin客户端连接
pgAdmin客户端是PostgreSQL官方推荐的数据库连接工具,在PostgreSQL官方网站下载并安装PostgreSQL时,将会自动安装pgAdmin 4客户端。下文以pgAdmin 4 V6.2.0为例,介绍如何连接RDS PostgreSQL实例。
如果您不想安装PostgreSQL,也可以单独下载pgAdmin客户端,仅用于连接远程数据库。
- 启动pgAdmin 4客户端。 说明- 高版本客户端首次登录需要设置Master Password用于保护保存的密码和其他凭据。 
- 右键单击Servers,选择。  
- 在General页签设置连接名称。  
- 选择Connection标签页,输入要连接的实例信息。  - 参数 - 说明 - Host name/address - RDS PostgreSQL实例的连接地址及对应的端口。 - 若通过内网连接,需输入RDS实例的内网地址和内网端口。 
- 若使用外网连接,需输入RDS实例的外网地址和外网端口。 
 - 您可以在RDS PostgreSQL实例的数据库连接页面查看。 - 更多信息,请参见查看或修改连接地址和端口。 - Port - Username - RDS PostgreSQL实例的账号和密码。 - 创建RDS实例的账号请参见创建账号和数据库。 - Password 
- 单击Save。 - 若连接信息无误,会出现如下界面,则表示连接成功。  重要 重要- postgres是RDS实例默认的系统数据库,请勿在该数据库中进行任何操作。 
PostgreSQL命令行工具连接
通过PostgreSQL官方网站下载并安装PostgreSQL时,将会自动安装PostgreSQL命令行终端工具(Command Line Tools)。
在命令行终端中输入如下命令连接RDS PostgreSQL数据库。
psql -h <实例连接地址> -U <用户名> -p <端口号> [-d <数据库名>]
| 参数 | 说明 | 
| 实例连接地址 | RDS PostgreSQL实例的连接地址及对应的端口。 
 您可以在RDS PostgreSQL实例的数据库连接页面查看。 更多信息,请参见查看或修改连接地址和端口。 | 
| 端口号 | |
| 用户名 | RDS PostgreSQL实例的账号。 创建RDS实例的账号请参见创建账号和数据库。 | 
| 数据库名 | 可选,需要连接的数据库名,postgres是RDS PostgreSQL实例默认的系统数据库,请勿在该数据库中进行任何操作,建议配置RDS实例下已创建的其他数据库。 如何创建和查看数据库,请参见创建数据库。 | 
应用程序连接
本文以Maven项目JDBC连接RDS PostgreSQL实例为例,其它编程语言连接方式类似。
- pom.xml中添加依赖。 - <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.2-504.jdbc3</version> </dependency>
- 连接实例示例代码如下: - public class DatabaseConnection { public static void main( String[] args ){ try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //实例连接地址 String hostname = "pgm-bp1i3kkq7321o9****.pg.rds.aliyuncs.com"; //实例连接端口 int port = 5432; //数据库名称 String dbname = "postgres"; //用户名 String username = "username"; //密码 String password = "password"; String dbUrl = "jdbc:postgresql://" + hostname + ":" + port + "/" + dbname + "?binaryTransfer=true"; Connection dbConnection; try { dbConnection = DriverManager.getConnection(dbUrl, username, password); Statement statement = dbConnection.createStatement(); //输入需要执行的SQL语句。 String selectSql = "SELECT * FROM information_schema.sql_features LIMIT 10"; ResultSet resultSet = statement.executeQuery(selectSql); while (resultSet.next()) { System.out.println(resultSet.getString("feature_name")); } } catch (SQLException e) { e.printStackTrace(); } } }
第三方报表工具连接
SSL连接
RDS PostgreSQL支持设置SSL链路加密,对网络连接进行加密,保证传输链路的安全。具体配置请参见使用SSL链路连接RDS PostgreSQL数据库。
连接失败的解决办法
请参见解决无法连接实例问题。
常见问题
- Q:如果ECS与RDS不位于同一地域或同一账号下,如何进行连接? - A:可以使用如下两种方法中的一种进行连接。 
- Q:我使用函数计算,想获取RDS的数据,要怎么操作呢? - A:您可以为函数安装第三方依赖,使用内置模块获取RDS数据,详情请参见为函数安装第三方依赖。 








 ,选择
,选择

