使用 Azure CLI 管理Azure Database for PostgreSQL灵活服务器

本文介绍如何管理部署在 Azure 中的Azure Database for PostgreSQL灵活服务器。 管理任务包括计算和存储缩放、管理员密码重置,以及查看服务器详细信息。

先决条件

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

需要在本地运行 Azure CLI 2.53 或更高版本。 建议运行最新发布的 CLI 版本。 若要查看安装的版本,请运行 az --version 命令。 如需进行安装或升级,请参阅安装 Azure CLI

使用 az login 命令登录你的帐户。

az login

使用 az account set 命令选择订阅。 记下 az login 输出中的 id 值,以用作以下命令中 subscription 参数的值。 如果有多个订阅,请选择应计费的资源所在的订阅。 若要确定所有订阅,请使用 az account list 命令。

az account set --subscription <subscription id>

重要

若要遵循本操作指南,需要创建Azure Database for PostgreSQL灵活服务器。

扩展计算和存储

重要

若要缩放存储或计算,必须至少具有对拥有资源组的 READ 权限。

可以使用以下命令轻松地纵向扩展计算层、vCore 和存储。 有关可运行的所有服务器操作的列表,请参阅 az postgres 灵活服务器概述。

az postgres flexible-server update --resource-group myresourcegroup --name mydemoserver --sku-name Standard_D4ds_v3 --storage-size 6144

下表描述了上述代码中的参数:

设置 示例值 说明
姓名 mydemoserver 为服务器输入唯一名称。 服务器名称只能包含小写字母、数字和连字符 (-) 字符。 必须包含 3 到 63 个字符。
resource-group myresourcegroup 提供 Azure 资源组的名称。
sku-name Standard_D4ds_v3 输入计算层的名称和大小。 此值遵循以速记形式列出的 Standard_{VM size} 约定。 有关详细信息,请参阅定价层
存储大小 32768 输入服务器的存储容量(以 MB 为单位)。 最小存储大小为 32768,

重要

无法缩减存储。

管理服务器上的 Azure Database for PostgreSQL 数据库

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

  1. 运行以下 psql 命令:

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

    例如,以下命令通过访问凭据连接到Azure Database for PostgreSQL灵活服务器上名为 postgres 的默认数据库 mydemoserver.postgres.database.chinacloudapi.cn。 出现提示时,输入所选的 <server_admin_password>

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

    连接后,psql 工具会显示 postgres 提示符,你可以在其中输入 SQL 命令。 如果使用的 psql 版本不同于Azure Database for PostgreSQL灵活服务器上的版本,则会在初始连接输出中显示警告。

    psql 输出示例:

    psql (11.3, server 12.1)
    WARNING: psql major version 11, server major version 12.
             Some psql features might not work.
    SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
    Type "help" for help.
    
    postgres=>
    

    小窍门

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

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

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

  2. 在提示符下,通过键入以下命令来创建名为“postgresdb”的空数据库:

    CREATE DATABASE postgresdb;
    
  3. 在提示符下,运行以下命令来将连接切换到新建的数据库 postgresdb

    \c postgresdb
    
  4. 键入 \q 并选择 Enter 以退出 psql。

在本部分中,通过 psql 连接到Azure Database for PostgreSQL灵活服务器,并创建了一个空白用户数据库。

重置管理员密码

使用以下命令更改管理员角色的密码:

az postgres flexible-server update --resource-group myresourcegroup --name mydemoserver --admin-password <new-password>

重要

选择一个至少含有 8 个字符而最多含有 128 个字符的密码。 密码必须包含以下类别中的三个类别的字符:

  • 英文大写字母
  • 英文小写字母
  • Numbers
  • 非字母数字字符

删除服务器

若要删除Azure Database for PostgreSQL灵活服务器,请运行 az postgres flexible-server delete 命令。

az postgres flexible-server delete --resource-group myresourcegroup --name mydemoserver