快速入门:通过 Azure CLI 与 Azure Database for PostgreSQL - 灵活服务器进行连接和查询

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

本快速入门演示了如何在 Azure CLI 中使用 az postgres flexible-server connect 连接到 Azure Database for PostgreSQL 灵活服务器实例,并使用 az postgres flexible-server execute 命令执行单个查询或 sql 文件。 通过此命令可测试与数据库服务器的连接并运行查询。 还可以使用交互模式运行多个查询。

先决条件

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

创建 Azure Database for PostgreSQL 灵活服务器实例

首先需要创建托管的 Azure Database for PostgreSQL 灵活服务器实例。 运行以下脚本,并记下该命令生成的“服务器名称”、“用户名”和“密码”

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>

示例:

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

示例:

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

示例:

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 使用 az postgres flexible-server execute 命令执行 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

后续步骤