在Azure Database for PostgreSQL灵活服务器中创建弹性群集

具有弹性群集的 Azure Database for PostgreSQL 是一项托管服务,可用于在云中运行、管理和缩放高度可用的 PostgreSQL 数据库,并具有横向扩展功能。 本快速入门介绍如何创建弹性群集。

如果没有 Azure 订阅,请在开始前创建一个试用 Azure 帐户

您可以创建一个弹性集群(类似于一台灵活的服务器),并为其配置一组计算和存储资源。 在Azure资源组中创建群集。 创建 Azure Database for PostgreSQL 中所述的步骤同样适用于弹性群集。 本部分概述了过程中的更改。

创建弹性群集的步骤

使用 Azure 门户

  1. 填写基本信息后,选择 “配置服务器 ”链接。

    Azure门户的屏幕截图,其中显示了“计算 + 存储”部分和一个可操作的“配置服务器”链接。

  2. “群集 ”部分中,选择 “弹性群集 ”选项。

    “计算 + 存储配置”页顶部部分的屏幕截图。已选择服务器。清除弹性群集。

  3. 指定节点计数并配置计算大小。

    使用弹性群集的计算 + 存储配置的屏幕截图。已选择弹性群集。节点计数输入框的值为 4。计算层和大小选项可见。

  4. 保存更改并在主配置页上验证你的选择。 若要更改创建 Citus 扩展的默认数据库的名称,请使用 “数据库名称 ”文本框。 然后,选择“ 审阅 + 创建 ”以查看所选内容。

    主配置页面的屏幕截图。“计算 + 存储”部分新增了一行“Sharding Schema/Row”,以及一行显示四个节点。数据库名称字段可用于将默认数据库名称从 postgres 更改为您偏好的其他名称。

  5. 选择“创建”以预配服务器。

    显示“查看 + 创建”选项卡的屏幕截图,可在其中查看群集的详细信息,然后再开始部署。

  6. 部署开始。

    显示正在进行的部署的屏幕截图。

  7. 部署完成后,可以选择 “固定到仪表板”。 此操作会在Azure门户仪表板上为此服务器创建磁贴,作为服务器的“概述”页的快捷方式。 选择“转到资源”可打开此服务器的“概述”页。

    显示部署已完成的屏幕截图。

    默认情况下,会在服务器下创建 postgres 数据库。 只能在群集预配时间更改此默认数据库的名称。 postgres 是针对用户、实用程序和应用程序使用的默认数据库。 (另一个默认数据库为 azure_maintenance 。其功能是将托管服务进程与用户作分开。无法访问此数据库。)

    注释

    与 Azure Database for PostgreSQL 灵活服务器的连接通过端口 5432 和 6432(PgBouncer)进行。 尝试从企业网络内部进行连接时,网络防火墙可能不允许通过端口 5432 和 6432 的出站流量。 如果是这样,则无法连接到服务器,除非 IT 部门打开端口 5432 和 6432。 弹性群集还使用端口 7432 和 8432 (PgBouncer) 跨群集节点进行负载均衡连接,可能需要通过 IT 部门类似的方式列出。

获取连接信息

创建弹性群集实例时,门户会创建具有你提供的名称的默认数据库。 若要连接到数据库服务器,需要完整的服务器名称和管理员的凭据。 你之前已在快速入门文章中记下了这些值。 如果没有,可以在门户中的服务器 “概述 ”页上轻松找到服务器名称和身份验证信息。

打开服务器的“概览”页。 记下服务器名称和管理员登录名。 将光标悬停在每个字段,然后复制符号就会显示在文本右侧。 根据需要选择复制符号即可复制这些值。

服务器“概述”页面的屏幕截图。

使用 psql 连接到 Azure Database for PostgreSQL 数据库

可以使用许多应用程序连接到Azure Database for PostgreSQL灵活服务器。 如果客户端计算机已安装 PostgreSQL,则可以使用 psql 的本地实例连接到Azure Database for PostgreSQL灵活服务器。 使用 psql 命令行工具连接到 Azure Database for PostgreSQL 灵活服务器。

  1. 运行以下 psql 命令以连接到Azure Database for PostgreSQL灵活服务器。

    psql --host=<servername> --port=<port> --username=<user> --dbname=<dbname>
    

    例如,以下命令使用访问凭据连接到Azure Database for PostgreSQL灵活服务器 mydemoserver.postgres.database.chinacloudapi.cn 上名为 postgres 的默认数据库。 提示输入密码时,输入之前选择的 <server_admin_password>

    psql --host=mydemoserver-pg.postgres.database.chinacloudapi.cn --port=5432 --username=myadmin --dbname=postgres
    

    若要连接到群集中的随机节点,请使用端口 7432。

    psql --host=mydemoserver-pg.postgres.database.chinacloudapi.cn --port=7432 --username=myadmin --dbname=postgres
    

    连接后,psql 工具会显示一个 postgres 提示符,您可以在其中键入 SQL 命令。 在初始连接输出中可能会显示警告,因为所使用的 psql 版本可能不同于 Azure Database for PostgreSQL 灵活服务器版本。

    psql 输出示例:

    psql (12.3 (Ubuntu 12.3-1.pgdg18.04+1), server 13.2)
    WARNING: psql major version 12, server major version 13.
          Some psql features might not work.
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
    Type "help" for help.
    

    Tip

    如果防火墙未配置为允许客户端的 IP 地址,则会发生以下错误:

    psql: 致命错误: 主机 <IP address>、用户 "myadmin"、数据库 "postgres" 没有 pg_hba.conf 条目,SSL 出现致命错误: 需要 SSL 连接。 请指定 SSL 选项,然后重试。

    确认在防火墙规则中允许你的客户端 IP。

  2. 在提示符下键入以下命令,创建一个名为 exampleschema 的空架构:

    CREATE SCHEMA exampleschema;
    
  3. 在提示符下,执行以下命令,使架构 exampleschema 呈分布式:

    SELECT citus_schema_distribute('exampleschema');
    
  4. 键入 \q,再按 Enter 键退出 psql。

使用 psql 连接到弹性群集,并创建了一个空白架构并将其分发。

清理资源

Tip

本集合中的其他快速入门均以本快速入门为基础。 如果打算继续使用快速入门,请不要清理在本快速入门中创建的资源。 如果不打算继续,请按照以下步骤删除本快速入门在门户中创建的资源。

若要清理在本快速入门中创建的资源,请使用以下方法之一。 删除Azure资源组以删除资源组中的所有资源。 如果要保留其他资源,请仅 删除服务器