クイックスタート: Azure CLI を使用して Azure Database for PostgreSQL フレキシブル サーバーに接続し、クエリを実行する

このクイックスタートでは、az postgres flexible-server connectでAzure CLIを使用して、Azure Database for PostgreSQLフレキシブル サーバーに接続する方法について説明します。 また、 az postgres flexible-server execute コマンドを使用して 1 つのクエリまたは SQL ファイルを実行する方法も示します。 このコマンドは、データベース サーバーへの接続をテストし、クエリを実行するのに役立ちます。 対話型モードを使用して、複数のクエリを実行することもできます。

[前提条件]

  • アクティブなサブスクリプションを持つ Azure アカウント。 所有していない場合は、無料試用版を入手してください。
  • Azure CLI の最新バージョンをインストールします。
  • az login コマンドを使用して Azure CLI を使用してサインインします。
  • (省略可能) 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 シェル エクスペリエンスが表示されます。

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>

1 つのクエリを実行する

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 ファイルを実行する

sql ファイルを実行するには、 az postgres flexible-server execute コマンドを --file-path 引数 ( -f) と共に使用します。

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