你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

适用于: Azure Database for PostgreSQL 灵活服务器

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

启动 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 值用作命令中 subscription 参数的值。 如果有多个订阅,请选择应计费的资源所在的相应订阅。 若要获取所有订阅,请使用 az account list

az account set --subscription <subscription id>

创建灵活服务器

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

az group create --name myresourcegroup --location eastus

使用 az postgres flexible-server create 命令创建 Azure Database for PostgreSQL 灵活服务器实例。 一个服务器可以包含多个数据库。 以下命令在刚刚创建的资源组中创建一个服务器:

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

由于默认连接方法为公共访问(允许的 IP 地址),该命令将提示你确认是否要添加你的 IP 地址和/或所有 IP 地址(范围从 0.0.0.0 到 255.255.255.255)到允许地址列表中。

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

  • 资源组所在的同一位置
  • 自动生成的管理员用户名和管理员密码(应保存在安全位置)
  • 一个名为“flexibleserverdb”的默认数据库
  • 其余服务器配置的服务默认值:计算层(常规用途)、计算大小/SKU(Standard_D2s_v3 - 2 个 vCore、8 GB RAM)、备份保留期(7 天)和 PostgreSQL 版本 (13)

注意

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

如果你想要更改任何默认值,请参阅 az postgres flexible-server create 的 Azure CLI 参考。

注意

与 Azure Database for PostgreSQL 灵活服务器的连接会通过端口 5432 进行通信。 如果尝试从企业网络内部进行连接,则可能不允许经端口 5432 的出站流量。 如果是这样,则无法连接到服务器,除非 IT 部门打开了端口 5432。 请注意,如果在 Azure Database for PostgreSQL 灵活服务器的实例上启用 PgBouncer,并且想要通过它进行连接,由于它在端口 6432 上运行,IT 部门必须为出站流量打开该端口。

获取连接信息

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

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

结果采用 JSON 格式。 记下 fullyQualifiedDomainName 和 administratorLogin 。 在上一步骤中应已保存密码。

{
  "administratorLogin": "myadmin",
  "availabilityZone": "3",
  "backup": {
    "backupRetentionDays": 7,
    "earliestRestoreDate": "2022-10-20T18:03:50.989428+00:00",
    "geoRedundantBackup": "Disabled"
  },
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.postgres.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/mydemoserver",
  "location": "eastus",
  "name": "mydemoserver",
  "network": {
    "delegatedSubnetResourceId": null,
    "privateDnsZoneArmResourceId": null,
    "publicNetworkAccess": "Enabled"
  },
  "resourceGroup": "myresourcegroup",
  "sku": {
    "name": "Standard_D2s_v3",
    "tier": "GeneralPurpose"
  },
  "state": "Ready",
  "storage": {
    "storageSizeGb": 128
  },
  "tags": null,
  "type": "Microsoft.DBforPostgreSQL/flexibleServers",
  "version": "13"
}

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

首先安装 psql 命令行工具。

使用 psql,通过以下命令连接到“flexibleserverdb”数据库。 将值替换为自动生成的域名和用户名。

psql -h mydemoserver.postgres.database.azure.com -U myadmin flexibleserverdb

注意

如果收到错误“The parameter PrivateDnsZoneArguments is required, and must be provided by customer”,则意味着你可能正在运行旧版本的 Azure CLI。 请升级 Azure CLI 并重试操作。

清理资源

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

az group delete --name myresourcegroup

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

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

后续步骤