您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

快速入门:使用 Azure CLI 创建 Azure Database for PostgreSQL 灵活服务器

本快速入门介绍如何使用 Azure Cloud Shell 中的 Azure CLI 命令在大约 5 分钟内创建 Azure Database for PostgreSQL 灵活服务器。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。

重要

Azure Database for PostgreSQL 灵活服务器当前以预览版提供。

启动 Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以在单独的浏览器标签页中通过转到 https://shell.azure.com/bash 打开 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后选择 Enter 来运行它。

如果希望在本地安装并使用 CLI,则本快速入门需要 Azure CLI 2.0 版或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

先决条件

你将需要使用 az login 命令登录到你的帐户。 请注意 id 属性,该属性指的是 Azure 帐户的订阅 ID。

az login

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

az account set --subscription <subscription id>

创建灵活服务器

使用 az group create 命令创建 Azure 资源组,然后在此资源组中创建 PostgreSQL 灵活服务器。 应提供唯一名称。 以下示例在 westus 位置创建名为 myresourcegroup 的资源组。

az group create --name myresourcegroup --location westus

使用 az postgres flexible-server create 命令创建灵活服务器。 一个服务器可以包含多个数据库。 以下命令使用服务默认值和 Azure CLI 本地上下文中的值创建服务器:

az postgres flexible-server create

创建的服务器具有以下属性:

  • 自动生成的服务器名称、管理员用户名、管理员密码、资源组名称(如果尚未在本地上下文中指定),并且与资源组位于同一位置
  • 其余服务器配置的服务默认值:计算层(常规用途)、计算大小/SKU(D2s_v3 - 2 个 vCore、8 GB RAM)、备份保持期(7 天)和 PostgreSQL 版本 (12)
  • 默认的连接方法是设置了自动生成的虚拟网络和子网的“专用访问(VNet 集成)”

备注

创建服务器后,无法更改连接方法。 例如,如果在创建过程中选择了“专用访问(VNet 集成)”,则在创建后无法将其更改为“公共访问(允许的 IP 地址)” 。 强烈建议创建采用专用访问的服务器,以使用 VNet 集成安全地访问你的服务器。 若要详细了解专用访问,请参阅概念文章

如果要更改任何默认设置,请参阅 Azure CLI 参考文档, 以获取可配置 CLI 参数的完整列表。

备注

连接到 Azure Database for PostgreSQL 时,经端口 5432 进行通信。 如果尝试从企业网络内部进行连接,则可能不允许经端口 5432 的出站流量。 如果是这样,则无法连接到服务器,除非 IT 部门打开了端口 5432。

获取连接信息

若要连接到服务器,需要提供主机信息和访问凭据。

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

结果采用 JSON 格式。 记下 fullyQualifiedDomainName 和 administratorLogin 。

{
  "administratorLogin": "myadmin",
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.postgres.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 2,
    "name": "Standard_D2s_v3",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "publicAccess": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 131072
  },
  "tags": null,
  "type": "Microsoft.DBforPostgreSQL/flexibleServers",
  "userVisibleState": "Ready",
  "version": "12"
}

使用 PostgreSQL 命令行客户端进行连接

由于使用“专用访问(VNet 集成)”创建了灵活服务器,因此你需要从与服务器相同的 VNet 中的资源连接到服务器。 可以创建虚拟机并将其添加到创建的虚拟网络中。

创建虚拟机后,可以通过 SSH 进入计算机并安装 psql 命令行工具。

使用 psql,通过以下命令进行连接。 将值替换为实际的服务器名称和密码。

psql -h mydemoserver.postgres.database.azure.com -u mydemouser -p

清理资源

如果不需要将这些资源用于其他快速入门/教程,则可通过执行以下命令将其删除:

az group delete --name myresourcegroup

如果只想删除这一新创建的服务器,可以运行 az postgres flexible-server delete 命令。

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

后续步骤