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

快速入门:将Azure CLI与Azure Database for PostgreSQL灵活服务器配合使用进行连接和查询

本快速入门介绍如何使用带有 az postgres flexible-server connect 的 Azure CLI 连接到 Azure Database for PostgreSQL 灵活服务器。 它还演示如何使用 az postgres flexible-server execute 命令执行单个查询或 SQL 文件。 此命令可帮助你测试与数据库服务器的连接并运行查询。 还可以使用交互式模式运行多个查询。

先决条件

  • 拥有有效订阅的 Azure 帐户。 如果没有帐户,可获取一个免费试用帐户
  • 安装最新版本的 Azure CLI
  • 使用 Azure CLI 和az login命令登录。
  • (可选)使用 az config param-persist on 启用实验性参数持久化。 参数暂留有助于使用本地上下文,而无需重复大量参数,如资源组或位置等。

创建 Azure Database for PostgreSQL 实例

首先,创建托管Azure Database for PostgreSQL灵活服务器。 在 Azure Cloud Shell 中,运行以下脚本。 记下此命令生成的服务器名称用户名和密码

az postgres flexible-server create --public-access <your-ip-address>

若要自定义命令,请提供更多参数。 查看 az postgres flexible-server create 的所有参数。

查看所有参数

您可以使用 --help 参数查看该命令的所有参数。

az postgres flexible-server connect --help

测试数据库服务器连接

可以使用 az postgres flexible-server connect 命令测试和验证从开发环境到数据库的连接。

az postgres flexible-server connect \
    -n <servername> -u <username> -p "<password>" -d <databasename>

Example:

az postgres flexible-server connect \
    -n server372060240 -u starchylapwing9 -p "dbpassword" -d postgres

如果连接成功,则会看到类似的输出。

Successfully connected to server372060240.

如果连接失败,请检查以下几点:

  • 确保服务器管理员用户名和密码正确。
  • 确保为客户端计算机配置了防火墙规则。
  • 如果服务器使用虚拟网络配置了专用访问,请确保客户端计算机位于同一虚拟网络中。

使用交互式模式运行多个查询

可以使用 交互式 模式运行多个查询。 若要启用交互模式,请运行以下命令。

az postgres flexible-server connect \
    -n <servername> -u <username> -p "<password>" -d <databasename> \
    --interactive

Example:

az postgres flexible-server connect \
    -n server372060240 -u starchylapwing9 -p "dbpassword" -d postgres --interactive

你会看到类似如下所示输出的 psql shell 界面:

Password for starchylapwing9:
Server: PostgreSQL 13.14
Version: 4.0.1
Home: http://pgcli.com
postgres> SELECT 1;
+----------+
| ?column? |
|----------|
| 1        |
+----------+
SELECT 1
Time: 0.167s
postgres>

执行单个查询

使用 az postgres flexible-server execute 针对 Postgres 数据库运行单一查询。

az postgres flexible-server execute \
    -n <servername> -u <username> -p "<password>" -d <databasename> \
    -q <querytext> --output table

Example:

az postgres flexible-server execute \
    -n server372060240 -u starchylapwing9 -p "dbpassword" -d postgres \
    -q "SELECT 1" --output table

会看到输出,如以下示例所示:

Successfully connected to server372060240.
Ran Database Query: 'SELECT 1'
Retrieving first 30 rows of query output, if applicable.
Closed the connection to server372060240
?column?
----------
1

运行 SQL 文件

使用带参数--file-path 命令-f执行 SQL 文件。

az postgres flexible-server execute \
    -n <server-name> -u <username> -p "<password>" -d <database-name> \
    --file-path "<file-path>"

示例:准备 test.sql 文件。 可以将以下测试脚本与简单 SELECT 查询配合使用:

SELECT 1;
SELECT 2;
SELECT 3;

将内容保存到 test.sql 当前目录中的文件。 然后运行以下命令以执行该文件。

az postgres flexible-server execute \
    -n server372060240 -u starchylapwing9 -p "dbpassword" -d postgres \
    -f "test.sql"

会看到输出,如以下示例所示:

Running sql file 'test.sql'...
Successfully executed the file.
Closed the connection to server372060240