快速使用AnalyticDB PostgreSQL版

更新时间: 2024-05-08 09:40:19

手动配置

32

教程简介

在本教程中,您将学习如何创建AnalyticDB PostgreSQL 6.0版存储弹性模式实例并通过部署在ECS上的PostgreSQL客户端工具psql查询数据。

云原生数据仓库AnalyticDB PostgreSQL版基于开源项目Greenplum构建,由阿里云深度扩展,兼容ANSI SQL 2003与PostgreSQL/Oracle数据库生态,支持行存储和列存储模式。云原生数据仓库AnalyticDB PostgreSQL版既支持高性能离线数据处理,也支持高并发在线分析查询,是各行业有竞争力的PB级实时数据仓库方案。

我能学到什么

  • 创建AnalyticDB PostgreSQL 6.0版存储弹性模式实例。

  • 通过psql连接AnalyticDB PostgreSQL版实例并查询数据。

操作难度

所需时间

32分钟

使用的阿里云产品

所需费用

  • 云原生数据仓库AnalyticDB PostgreSQL版:0元。

  • 云服务器ECS:云服务器ECS的费用,请参见计费概述。您可以前往阿里云免费试用查看您的阿里云账号是否具有云服务器ECS试用资格。如有试用资格,可通过试用ECS来完成教程。

  • 专有网络VPC:0元。

准备环境及资源

15

开始教程前,请按以下步骤准备环境和资源:

  1. 访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。

  2. 成功登录后,在AnalyticDB PostgreSQL版控制台右上角单击新建实例。在弹出的创建服务关联角色对话框中,单击确定

  3. 访问阿里云免费试用。在产品类别下选择数据库>数据仓库,在云原生数据仓库 ADB PostgreSQL 4核16GB 100GB 1个月卡片上单击立即试用

  4. 云原生数据仓库 ADB PostgreSQL面板,配置以下信息。

    配置项

    说明

    本教程示例

    地域和可用区

    选择实例所在的地域和可用区。

    • 完成购买后无法更换实例的地域。请根据应用所在的地理位置就近选择地域,提升数据库访问速度。

    • 请确保实例与需要连接的ECS实例位于同一个地域,否则无法通过内网互通,只能通过外网互通,无法发挥最佳性能。

    华东1(杭州) 华东1可用区J

    专有网络(VPC)

    选择实例所属专有网络。

    如果选择的地域没有VPC,可以前往VPC控制台创建。

    请确保实例与需要连接的ECS实例位于同一个VPC,否则无法通过内网互通,只能通过外网互通,无法发挥最佳性能。

    vpc-bp1ov7as4yvz4kxei****

    专有网络交换机

    选择实例所属交换机。

    如果选择的可用区没有交换机,可以前往VPC控制台创建。

    vsw-bp1mbnyrjtf3ihga1****

    资源组

    选择实例所属资源组。

    默认资源组

    样本数据

    选择加载

    本教程将使用样本数据。

    加载

    试用时长

    固定为1个月

    1个月

    其他配置项,包括实例资源类型、引擎版本、实例系列、向量引擎优化、master资源、节点规格(segment)、节点数量(segment)、磁盘存储类型、加密类型、节点存储容量(segment)、网络类型等,均使用默认值。

  5. 勾选服务协议,单击立即试用

    创建实例需要10~15分钟,创建完成后您就可以在AnalyticDB PostgreSQL版控制台实例列表看到新创建的实例。

  6. 按如下要求准备ECS,创建ECS实例的方法,请参见自定义购买实例

    • 所在地域与AnalyticDB PostgreSQL版实例相同,并建议所在可用区相同(以减少网络延时)。

    • 网络类型为专有网络,须确保使用与AnalyticDB PostgreSQL版实例相同的专有网络ID。

    • 操作系统为CentOS 7.9 64位。

    • 绑定公网IP。

    您可以前往阿里云免费试用查看您的阿里云账号是否具有云服务器ECS试用资格。如有试用资格,可通过试用ECS来完成教程。如无试用资格,则需使用自有ECS资源才能完成教程。不建议使用生产环境中的自有ECS资源,也不要将教程中的测试数据和自有ECS资源的数据混用。测试完成后及时清理测试数据,避免影响自有资源正常运行。

设置白名单

2

AnalyticDB PostgreSQL版实例默认禁止所有IP地址访问,在连接实例前,您需要将ECS实例的IP地址添加到AnalyticDB PostgreSQL版实例的白名单中。

  1. AnalyticDB PostgreSQL版控制台实例列表左上角,选择实例所在地域。本教程示例为华东1(杭州)。

  2. 单击实例ID。

  3. 单击左侧导航栏中的数据安全性

  4. 单击default分组右侧的修改

  5. 在组内白名单文本框中,输入ECS实例的主私网IP

    您可以访问ECS实例列表,在左上角选择地域,单击ECS实例ID,在实例详情页面的网络信息区域查看主私网IP

  6. 单击确定

创建初始账号

4

连接数据库前,您需要创建AnalyticDB PostgreSQL版实例的初始账号。

  1. 单击左侧导航栏中的账号管理

  2. 账号管理页面,单击右上角的创建初始账号

  3. 填写数据库账号新密码确认密码。本教程创建的数据库账号为testuser。

  4. 单击确定

连接实例

3

  1. 单击左侧导航栏中的数据库连接,复制AnalyticDB PostgreSQL版实例的内网地址,在步骤4需要填该地址。

  2. 登录ECS实例。登录方法,请参见通过密码或密钥认证登录Linux实例

  3. 在ECS实例上安装PostgreSQL客户端工具psql,用于数据查询。

    1. 下载psql。

      wget https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/181125/cn_zh/1598426198114/adbpg_client_package.el7.x86_64.tar.gz
    2. 解压psql文件。

      tar -xzvf adbpg_client_package.el7.x86_64.tar.gz
    3. 切换到psql所在的目录adbpg_client_package/bin

      cd adbpg_client_package/bin
  4. 连接AnalyticDB PostgreSQL版实例。

    参数说明:

    • <adbpgaddress>:步骤1获取的AnalyticDB PostgreSQL版实例的内网地址。

    • 5432:AnalyticDB PostgreSQL版实例的端口号,固定为5432,无需修改。

    • <dbname>:需要连接的数据库名称。本教程以连接adb_sampledata_tpch库为例。

    • <username>:AnalyticDB PostgreSQL版实例的初始账号。本教程以testuser为例。

    ./psql -h <adbpgaddress> -p 5432 -d <dbname> -U <username>
  5. 输入密码,此时界面不会显示输入的密码。输入完成后按Enter键,显示adb_sampledata_tpch=>,表示连接成功。

查询数据

3

  1. adb_sampledata_tpch=>后面,粘贴示例语句。在确认粘贴对话框中,单击确定。

    SELECT
        l_returnflag,
        l_linestatus,
        SUM(l_quantity) AS sum_qty,
        SUM(l_extendedprice) AS sum_base_price,
        SUM(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
        SUM(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
        AVG(l_quantity) AS avg_qty,
        AVG(l_extendedprice) AS avg_price,
        AVG(l_discount) AS avg_disc,
        COUNT(*) AS count_order
    FROM
        lineitem
    WHERE
        l_shipdate <= date '1998-12-01' - interval '93 day'
    GROUP BY
        l_returnflag,
        l_linestatus
    ORDER BY
        l_returnflag,
        l_linestatus;
  2. 按Enter键,等待大约十几秒钟,得到返回结果。

     l_returnflag | l_linestatus |   sum_qty    |  sum_base_price  |   sum_disc_price   |      sum_charge      |       avg_qty       |     avg_price      |        avg_disc        | count_order
    --------------+--------------+--------------+------------------+--------------------+----------------------+---------------------+--------------------+------------------------+-------------
     A            | F            | 377518399.00 |  566065727797.25 |  537759104278.0656 |  559276670892.116819 | 25.5009751030070973 | 38237.151008958546 | 0.05000657454024320463 |    14804077
     N            | F            |   9851614.00 |   14767438399.17 |   14028805792.2114 |   14590490998.366737 | 25.5224483028409474 | 38257.810660081140 | 0.04997336773765667180 |      385998
     N            | O            | 741677421.00 | 1112128067245.51 | 1056515874754.8915 | 1098789205194.979991 | 25.4980959386728918 | 38233.802663809111 | 0.05000056106457327240 |    29087561
     R            | F            | 377732830.00 |  566431054976.00 |  538110922664.7677 |  559634780885.086257 | 25.5083847896801383 | 38251.219273559761 | 0.04999679231408742045 |    14808183
    (4 rows)
    
    Time: 20396.601 ms

清理及后续

5

清理实例

  • 云原生数据仓库AnalyticDB PostgreSQL版

    云原生数据仓库AnalyticDB PostgreSQL版实例只能免费试用1个月。试用结束后,如需继续使用,请在实例到期前及时续费,续费操作,请参见续费说明。到期不续费,实例会自动释放,数据被清理。如不再继续使用,您可以手动释放,释放操作,请参见释放实例

  • 云服务器ECS

    如果是按量付费的ECS实例,请及时释放实例,以免产生费用。释放方法,请参见释放实例

    如果是包年包月的ECS实例,实例到期后会自动释放。

后续操作

您可以将自建数据库迁移至AnalyticDB PostgreSQL版实例,具体操作,请参见:

总结

常用知识点

问题:不配置白名单,ECS实例可以连接AnalyticDB PostgreSQL版实例吗?(单选题)

  • 可以连接

  • 无法连接

正确答案是无法连接。AnalyticDB PostgreSQL版实例默认禁止所有IP地址访问,在连接实例前,您需要将ECS实例的IP地址添加到AnalyticDB PostgreSQL版实例的白名单中。

延伸阅读