连接PostgreSQL实例

RDS PostgreSQL实例支持通过多种方式连接(如通过数据管理DMS、pgAdmin客户端、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

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 基本信息页面单击登录数据库SQL查询

  3. 在DMS的登录实例页面,输入实例数据库的账号密码,单击登录

    说明

    请确保登录的数据库账号拥有目标数据库的权限,否则在左侧菜单里看不到目标数据库。

    DMS登录
  4. 登录后请刷新页面,然后在左侧已登录实例菜单即可看到实例内已创建的数据库。查看数据库

说明

除了通过RDS控制台跳转到DMS进行登录,您还可以登录DMS控制台直接录入RDS实例,录入后可以在DMS控制台快速登录数据库。详情请参见云数据库录入

pgAdmin客户端连接

pgAdmin客户端是PostgreSQL官方推荐的数据库连接工具,在PostgreSQL官方网站下载并安装PostgreSQL时,将会自动安装pgAdmin 4客户端。下文以pgAdmin 4 V6.2.0为例,介绍如何连接RDS PostgreSQL实例。

如果您不想安装PostgreSQL,也可以单独下载pgAdmin客户端,仅用于连接远程数据库。

  1. 启动pgAdmin 4客户端。

    说明

    高版本客户端首次登录需要设置Master Password用于保护保存的密码和其他凭据。

  2. 右键单击Servers,选择Register > Server...

  3. General页签设置连接名称。

  4. 选择Connection标签页,输入要连接的实例信息。

    参数

    说明

    Host name/address

    RDS PostgreSQL实例的连接地址及对应的端口。

    • 若通过内网连接,需输入RDS实例的内网地址和内网端口。

    • 若使用外网连接,需输入RDS实例的外网地址和外网端口。

    您可以在RDS PostgreSQL实例的数据库连接页面查看。

    更多信息,请参见查看或修改连接地址和端口

    Port

    Username

    RDS PostgreSQL实例的账号和密码。

    创建RDS实例的账号请参见创建账号和数据库

    Password

  5. 单击Save

    若连接信息无误,会出现如下界面,则表示连接成功。

    重要

    postgres是RDS实例默认的系统数据库,请勿在该数据库中进行任何操作。

PostgreSQL命令行工具连接

通过PostgreSQL官方网站下载并安装PostgreSQL时,将会自动安装PostgreSQL命令行终端工具(Command Line Tools)

在命令行终端中输入如下命令连接RDS PostgreSQL数据库。

psql -h <实例连接地址> -U <用户名> -p <端口号> [-d <数据库名>]
psql登录

参数

说明

实例连接地址

RDS PostgreSQL实例的连接地址及对应的端口。

  • 若通过内网连接,需输入RDS实例的内网地址和内网端口。

  • 若使用外网连接,需输入RDS实例的外网地址和外网端口。

您可以在RDS PostgreSQL实例的数据库连接页面查看。

更多信息,请参见查看或修改连接地址和端口

端口号

用户名

RDS PostgreSQL实例的账号。

创建RDS实例的账号请参见创建账号和数据库

数据库名

可选,需要连接的数据库名,postgres是RDS PostgreSQL实例默认的系统数据库,请勿在该数据库中进行任何操作,建议配置RDS实例下已创建的其他数据库。

如何创建和查看数据库,请参见创建数据库

应用程序连接

说明

本文以Maven项目JDBC连接RDS PostgreSQL实例为例,其它编程语言连接方式类似。

  1. pom.xml中添加依赖。

    <dependency>
      <groupId>postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>8.2-504.jdbc3</version>
    </dependency>
  2. 连接实例示例代码如下:

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

第三方报表工具连接

Microsoft Power BI

RDS PostgreSQL支持接入Power BI,在Power BI中对数据进行获取、清洗、建模和可视化展示等操作,实现数据分析。下文以Power BI 2.112.1161.0 64-bit版本为例,介绍如何连接RDS PostgreSQL实例。

  1. 下载并安装Power BI Desktop客户端。下载方法请参见获取 Power BI Desktop

  2. 启动Power BI Desktop客户端。

  3. 在顶部菜单栏选择主页页签,然后单击获取数据 > 更多...获取数据

  4. 获取数据对话框中选择数据库 > PostgreSQL 数据库,然后单击连接PostgreSQL数据库

  5. PostgreSQL 数据库对话框中,分别设置服务器数据库后,单击确定连接地址

    参数

    说明

    服务器

    RDS PostgreSQL实例的连接地址和对应的端口。

    格式:连接地址:端口

    • 若通过内网连接,需输入RDS实例的内网地址和内网端口。

    • 若使用外网连接,需输入RDS实例的外网地址和外网端口。

    您可以在RDS PostgreSQL实例的数据库连接页面查看。

    更多信息,请参见查看或修改连接地址和端口

    数据库

    postgres是RDS PostgreSQL实例默认的系统数据库,请勿在该数据库中进行任何操作,建议配置RDS实例下已创建的其他数据库。

    如何创建和查看数据库,请参见创建数据库

  6. 填写RDS PostgreSQL实例的用户名密码后,单击连接连接

    说明

    创建RDS实例的账号请参见创建账号和数据库

  7. 在加密支持对话框中单击确定加密支持

  8. 连接成功后,即可在导航器窗口中查看数据库中的表信息,您可以根据业务需求,选中目标表后,选择加载转换数据操作。加载或转换

Smartbi

RDS PostgreSQL支持接入Smartbi,在Smartbi中对数据进行分析处理,满足您在企业级报表、数据可视化分析、自助探索分析、数据挖掘建模、AI 智能分析等大数据分析需求。下文以Smartbi V10.5版本为例,介绍如何连接RDS PostgreSQL实例。

  1. 根据Smartbi官方安装指导,完成申请License、Smartbi客户端的下载、安装以及启动Smartbi服务。

  2. 在开始菜单,单击访问Smartbi访问Smartbi

  3. 输入账号和密码后,单击登录,进入Smartbi。登录Smartbi

    说明
    • 管理员默认登录账号为admin,密码为manager

    • 如果是首次登录,则需要修改管理员密码。

  4. 在左侧单击数据库连接图标,选择数据库连接 > 新建 > 关系数据库新建关系数据库连接

  5. 新建关系数据库对话框中配置相关参数,然后单击测试连接(T)新建数据库连接

    参数

    说明

    名称

    数据库连接的名称,自定义。

    驱动程序类型

    固定选择为PostgreSQL。

    驱动程序类

    选择驱动程序类型后自动选择,无需修改。

    连接字符串

    连接RDS PostgreSQL实例的JDBC连接串,格式如下:

    jdbc:postgresql://<servername>:<port>/<dbName>?defaultRowFetchSize=10000
    • <servername>:<port>:RDS PostgreSQL实例的连接地址和对应的端口。

      • 若通过内网连接,需输入RDS实例的内网地址和内网端口。

      • 若使用外网连接,需输入RDS实例的外网地址和外网端口。

      您可以在RDS PostgreSQL实例的数据库连接页面查看。

      更多信息,请参见查看或修改连接地址和端口

    • <dbName>:postgres是RDS PostgreSQL实例默认的系统数据库,请勿在该数据库中进行任何操作。

      建议配置RDS实例下已创建的其他数据库。如何创建和查看数据库,请参见创建数据库

    用户名密码

    创建RDS实例的账号请参见创建账号

  6. 测试通过后,单击保存,出现如下信息,表示连接成功。连接成功

SSL连接

RDS PostgreSQL支持设置SSL链路加密,对网络连接进行加密,保证传输链路的安全。具体配置请参见SSL连接RDS PostgreSQL数据库

连接失败的解决办法

请参见解决无法连接实例问题

常见问题

Q:我使用函数计算,想获取RDS的数据,要怎么操作呢?

A:您可以为函数安装第三方依赖,使用内置模块获取RDS数据,详情请参见为函数安装第三方依赖