Visual Studio Code用 PostgreSQL 拡張機能を使用すると、エディターを離れることなく新しい PostgreSQL サーバーを作成できます。 開発とテスト用のローカル Docker コンテナーを起動したり、運用環境のワークロード用にフル マネージドの Azure Database for PostgreSQL フレキシブル サーバーをプロビジョニングしたり、大規模なシナリオ用に Azure HorizonDB (プレビュー) クラスターを作成したりできます。
前提条件
- 拡張機能がインストールされているVisual Studio Code。
-
ローカル Docker サーバーの場合:Docker Desktop がインストールされ、Docker デーモンが実行されています。 ターミナルで
docker infoを実行して確認します。 - Azure サーバーの場合: アクティブなサブスクリプションを持つAzure アカウント。 お持ちでない場合は、無料のアカウントを作成してください。
- Azure HorizonDB (プレビュー) クラスターの場合: アクティブなサブスクリプションを持ち、Azure HorizonDB (プレビュー) にアクセスできるAzure アカウント。
新しいサーバーの作成ハブを開く
PostgreSQL アクティビティ バー コンテナーで、接続ツリーを見つけます。
接続ツリーの上部にある [新しいサーバーの作成] ボタンを選択するか、コマンド パレットから
pgsql.createNewServer実行します。[ 接続 ] ツリーでサーバー グループを右クリックし、[ 新しいサーバーの作成] を選択することもできます。
[新しい PostgreSQL サーバーの作成] ハブが新しいエディター タブで開きます。次の 3 つのオプションが表示されます。
| Option | 説明 |
|---|---|
| ローカル Docker PostgreSQL サーバーを作成する | ローカル Docker コンテナーに PostgreSQL サーバーを作成します。 開発、テスト、学習に最適です。 |
| Azure Database for PostgreSQL フレキシブル サーバー インスタンスを作成する | Azureでフル マネージド PostgreSQL サーバーをプロビジョニングします。 運用環境のワークロードとチーム環境に適しています。 |
| Azure HorizonDB インスタンスを作成する (プレビュー) | Azureでクラウドネイティブで拡張性の高い PostgreSQL クラスターをプロビジョニングします。 |
シナリオに一致するカードを選択します。
Docker を使用してローカル サーバーを作成する
Docker コンテナーを使用すると、マシン上で実行される軽量で分離された PostgreSQL インスタンスが提供されます。 このオプションは、ローカル開発、プロトタイプ作成、または破棄可能なデータベース環境が必要な場合に使用します。
手順 1: 概要を確認する
[ ローカル Docker PostgreSQL サーバーの作成 ] カードを選択すると、拡張機能には、 Docker 上のシームレス PostgreSQL サーバーというタイトルのランディング ページが VS Code で表示されます。 このページでは、主な機能が強調表示されています。
- One-Click サーバーの作成: 手動セットアップなしで PostgreSQL サーバーを数秒で起動します。
- 完全に自動化されたセットアップ: 拡張機能は、分離された環境で PostgreSQL をプル、構成、および実行します。
- シンプルな管理: PostgreSQL コンテナーをいつでも開始、停止、または削除できます。
[ 作業の開始] を 選択して続行します。
手順 2: 前提条件チェックに合格する
拡張機能は、Docker がインストールされ、実行されていることを確認します。 [ 前提条件の確認 ] 画面には、各チェックの状態が表示されます。
-
Docker がインストールされているかどうかを確認する:
PATHで Docker CLI が使用可能であることを確認します。 - Docker がバックグラウンドで実行されているかどうかを確認する: Docker デーモンがアクティブであることを確認します。
チェックが失敗した場合は、画面のリンクに従って Docker をインストールまたは起動し、このページに戻ります。 拡張機能はチェックを自動的に再実行します。
手順 3: 接続を構成する
前提条件に合格すると、[ 接続のセットアップ] フォームが表示されます。 以下のフィールドに記入してください。
| Setting | 必須 | 説明 |
|---|---|---|
| 接続名 | いいえ | 接続プロファイルのフレンドリ表示名。 既定のコンテナー名としても機能します (スペースはアンダースコアに置き換えられます)。 |
| コンテナー名 | Yes | Docker コンテナーの名前。 使用できる文字: a-zA-Z0-9_.-。 |
| ユーザー名 | Yes | PostgreSQL インスタンスのスーパーユーザー名。 既定値は postgres です。 |
| パスワード | Yes | スーパーユーザー アカウントのパスワード。 |
| パスワードを保存する | いいえ | 選択すると、各接続でパスワードを入力する必要がないように、パスワードが格納されます。 |
| データベース名 | いいえ | 初期データベースの名前。 既定値は postgres です。 |
[ 詳細オプション] を 選択して、追加の設定を展開します。
| Setting | 説明 |
|---|---|
| バインドされたポート | コンテナーの PostgreSQL ポートにマップされたホスト ポート (コンテナー ポート 5432)。 空白のままにすると、拡張機能によって、 54500-55000範囲内の空きポートが自動的に割り当てられます。 有効な範囲: 1-65535。 |
| イメージ バージョン | プルする Docker イメージ タグ。 既定値は latest です。 |
| イメージ レジストリ | コンテナー レジストリの URL (たとえば、 myregistry.azurecr.io)。 既定値は Docker Hub です。 |
| イメージ名 | Dockerイメージ名。 既定値は postgres です。 |
| イメージ プラットフォーム | マルチアーキテクチャ環境 (たとえば、 linux/amd64) のプラットフォーム ターゲット。 |
手順 4: 作成して接続する
[ 作成] を選択してプロビジョニングを開始します。 拡張機能:
-
postgresDocker イメージをプルします (まだキャッシュされていない場合)。 - 指定した設定でコンテナーを作成して起動します。
- PostgreSQL の準備が整うのを待機します (
pg_isreadyを使用)。 - 接続プロファイルを作成し、自動的に接続します。
コンテナーの初期化中に、" ローカル Docker サーバーの作成..." というタイトルの進行状況インジケーターが表示されます。 コンテナーの準備ができたら、[ 接続] ツリーにサーバーが表示され、すぐにクエリを開始できます。
Tip
Docker コンテナーは、Visual Studio Code再起動しても保持されます。 拡張機能の外部でコンテナーを停止、開始、削除、または検査するには、Docker CLI または Docker Desktop を使用します。
Azure Database for PostgreSQL フレキシブル サーバーを作成する
Azure Database for PostgreSQLフレキシブル サーバーは、高可用性、自動バックアップ、インテリジェントなパフォーマンス チューニングを提供するフル マネージド データベース サービスです。 この拡張機能では、Visual Studio Codeから直接新しいサーバーをプロビジョニングするためのマルチステップ ウィザードについて説明します。
手順 1: 概要を確認する
[Azure Database for PostgreSQL フレキシブル サーバー インスタンスの作成] カードを選択すると、ランディング ページにサービス機能が説明されます。
- シームレスなAzure統合: Entra ID認証をサポートするVisual Studio Codeでサーバーを直接プロビジョニングします。
- 柔軟なコンピューティングとストレージ: 構成済みのコンピューティング レベルとストレージ オプションから選択します。
- 合理化されたサーバー管理: エディターを離れることなく、ライフサイクル、パフォーマンス、および構成を管理します。
- 開発者向けに構築: Azureがインフラストラクチャを処理しながら、アプリケーションに集中します。
[ 作業の開始] を 選択して続行します。 必要に応じて、今後このページを表示しないようにするには 今後このページを表示しない を選択します。
手順 2: Azureにサインインする
拡張機能により、ログイン ページが開き、「Entra IDを使用してAzure アカウントにログインして、Azure Database for PostgreSQLフレキシブル サーバー インスタンスを作成します」というメッセージが表示されます。
- Visual Studio CodeにサインインしているAzure アカウントが既にある場合、拡張機能はこれらの資格情報を自動的に使用します。
- 複数のAzure アカウントまたはテナントがある場合は、アカウント スイッチャーとテナント セレクターを使用して正しい ID を選択します。
手順 3: サーバー設定を構成する
認証後、拡張機能はセクションごとに構成フォームを表示します。 選択を行うと、右側のコスト見積もりパネルが更新されます。
プロジェクトの詳細
| Setting | 説明 |
|---|---|
| Subscription | 課金とアクセスを管理するAzure サブスクリプションを選択します。 サインインしているアカウントとテナントのすべてのサブスクリプションが一覧表示されます。 |
| リソース グループ | 既存のリソース グループを選択するか、[ 新規作成 ] を選択して作成します。 新しいリソース グループは、サーバーと同じリージョンにデプロイされます。 |
基本
| Setting | 説明 |
|---|---|
| [サーバー名] | サーバーのグローバルに一意の名前。 拡張機能は、可用性を非同期的にチェックし、名前が取得された場合はエラーを表示します。 サーバー名は、接続ホスト名 (<server-name>.postgres.database.azure.com) の一部になります。 |
| リージョン | サーバーが展開されているAzureリージョン。 拡張機能は、選択したリージョンでサブスクリプションをプロビジョニングできることを検証します。 |
| コンピューティングとストレージ | 構成済みのコンピューティング層とストレージ層を選択します。 利用できるバンドルは次のとおりです。 |
| Bundle | vCores | Storage | SKU |
|---|---|---|---|
| 開発/テスト (既定) | 2 | 128 GB | Standard_D2ds_v4 |
| 標準 | 4 | 256 GB | Standard_D4ds_v4 |
| パフォーマンス | 八 | 512ギガバイト (GB) | Standard_D8ds_v4 |
Tip
フォームの下部にある [Create in Azure portal]\(Azure portalで作成\) ボタンを使用して、コンピューティングとストレージをさらにカスタマイズできます。このボタンを使用すると、Azure portal作成エクスペリエンス全体が開きます。
| Setting | 説明 |
|---|---|
| PostgreSQL のバージョン | デプロイする PostgreSQL のメジャー バージョン。 使用可能なバージョン: 18、17、16、15、14。 既定値は 18 です。 利用可能なバージョンは、リージョンによって異なる場合があります。 |
Authentication
このフォームには 、ADMINISTRATOR ACCESS セクションが表示されます。 少なくとも 1 つの認証方法を有効にする必要があります。
| Setting | 説明 |
|---|---|
| 自分の Entra ID を使用する: <email> | サインインしている Entra ID の ID をサーバー管理者として設定するチェック ボックス。 電子メールは、Azure ログインから自動的に設定されます。 |
| PostgreSQL ユーザーとパスワードを作成する | 従来の PostgreSQL 認証を有効にするチェック ボックス。 選択すると、3 つのフィールドが追加で表示されます。 |
[ PostgreSQL ユーザーとパスワードの作成] を選択した場合は、次の情報を入力します。
| Setting | 説明 |
|---|---|
| 管理者ユーザー名 | PostgreSQL 管理者アカウントのログイン名 (たとえば、 pgadmin)。 文字で始まり、文字、数字、アンダースコアのみを含める必要があります。
admin、root、guest、pg_で始まる名前などの予約済み名を使用することはできません。 |
| 管理者パスワード | 管理者アカウントのパスワード。 8 ~ 128 文字で、大文字、小文字、数字、および記号の少なくとも 3 つを含める必要があります。 |
| 管理者パスワードの確認 | 管理者パスワードを再入力します。 |
Note
両方の認証方法を同時に有効にすることができます。 たとえば、チーム メンバーのEntra IDや、アプリケーション接続文字列の PostgreSQL 認証などです。
コスト見積もり
フォームの右側にある [推定コスト ] パネルでは、毎月の価格が分類されます。
- コンピューティング: 選択した SKU と仮想コアの数に基づきます。
- ストレージ: 選択したストレージ層に基づきます。
- バックアップ: バックアップ コストが含まれています。
- 帯域幅: リージョン間の送信データ転送には追加料金が発生します。受信転送は無料です。
パネルには見積合計額が表示され、詳細な価格を確認するにはAzure 料金計算ツールへのリンクが表示されます。
手順 4: 使用条件に同意してデプロイする
フォームの下部:
- [ このサーバーを作成すると料金が発生する可能性があることを確認する ] チェック ボックスをオンにします。
- リンクされた 利用規約 と プライバシー ポリシーを確認します。
- [ 作成] を選択してプロビジョニングを開始します。
拡張機能は、デプロイの各ステージを追跡する進行状況ページに移動します。
| Stage | ステータス値 |
|---|---|
| サーバー のプロビジョニング | 保留中、 進行中、 完了、 失敗 |
| ファイアウォール規則の割り当て | 保留中、 進行中、 完了、 スキップ済み |
| Entra 管理者の割り当て | 保留中、 進行中、 完了、 スキップ済み |
デプロイの概要には、 選択したサーバー名、 サブスクリプション、 リソース グループ、 リージョン、 構成 が表示されます。
デプロイ中も、Visual Studio Codeで作業を続けることができます。 進行状況ページを閉じると、デプロイもバックグラウンドで実行されます。
すべてのステージが完了すると、 ヘッダーが正常に作成 され、"Your PostgreSQL フレキシブル サーバーの準備ができました" というメッセージが表示されます。拡張機能によって、新しいサーバーの接続プロファイルが自動的に作成されます。 [ 完了] を 選択して進行状況ページを閉じます。
Note
ステージが警告で完了した場合、状態は 警告と共に完了と表示されます。 接続する前に詳細を確認します。
Azureデプロイを追跡する
PostgreSQL アクティビティ バーの [Azure デプロイ] ビューには、進行中と完了したすべてのAzureサーバーのデプロイが表示されます。 各エントリには、サーバー名、展開の状態、およびタイムスタンプが表示されます。
デプロイを右クリックして、次のアクションにアクセスします。
| アクション | 説明 |
|---|---|
| Azure portalで開く | Azure ポータルでサーバーのリソース ページを開きます。 |
| デプロイの削除 | トラッカーからデプロイ エントリを削除します。 このアクションでは、Azure リソースは削除されません。 |
ビュー ツール バーの [ Remove Completed]\(完了の削除 \) ボタンを使用して、完了したすべてのデプロイを一覧からクリアします。
Tip
Azure展開が失敗した場合は、進行状況ページで [再試行] を選択してプロビジョニングを再開するか、[フォームに戻る] を選択して設定を調整します。
Azure HorizonDB (プレビュー) クラスターを作成する
Azure HorizonDB (プレビュー) は、Azureのクラウドネイティブでスケーラブルな PostgreSQL クラスターです。 拡張機能では、新しいクラスターをプロビジョニングするためのマルチステップ ウィザードについて説明します。
Note
Azure HorizonDB (プレビュー) の可用性は、お使いの Azure サブスクリプションとリージョンによって異なります。
手順 1: 概要を確認する
[Azure HorizonDB インスタンスの作成] カードを選択すると、ランディング ページにサービス機能が記述されます。
- Cloud-Native アーキテクチャ: 高スループット用に最適化されたクラウドネイティブ PostgreSQL クラスター。
- エラスティック スケール: コンピューティングを 2 から 128 個の仮想コアにスケーリングします。
- 組み込みの管理: Visual Studio Codeからライフサイクルと構成を管理します。
- 開発者向け準備完了: Azureがインフラストラクチャを処理している間は、アプリケーションに集中します。
[ 作業の開始] を 選択して続行します。 必要に応じて、今後このページをスキップするには、今後表示しない を選択します。
手順 2: Azureにサインインする
拡張機能によってログイン ページが開きます。 Visual Studio CodeにサインインしているAzure アカウントが既にある場合、拡張機能はこれらの資格情報を自動的に使用します。 複数のAzure アカウントまたはテナントがある場合は、アカウント スイッチャーとテナント セレクターを使用して正しい ID を選択します。
手順 3: クラスター設定を構成する
認証後、拡張機能はセクションごとに構成フォームを表示します。
プロジェクトの詳細
| Setting | 説明 |
|---|---|
| Subscription | 課金とアクセスを管理するAzure サブスクリプションを選択します。 |
| リソース グループ | 既存のリソース グループを選択するか、[ 新規作成 ] を選択して作成します。 |
クラスターの詳細
| Setting | 説明 |
|---|---|
| クラスター名 | クラスターのグローバルに一意の名前。 拡張機能は可用性をチェックし、名前が取得された場合はエラーを表示します。 |
| リージョン | クラスターがデプロイされているAzureリージョン。 |
| PostgreSQL のバージョン | デプロイする PostgreSQL のメジャー バージョン。 |
コンピューティングの構成
仮想コア スライダーを使用して、クラスターのコンピューティング容量を選択します。 使用可能なオプションの範囲は 、2 から 128 個の仮想コアです。 メモリは 仮想コアあたり 8 GiB で自動的にスケーリングされます。
Authentication
| Setting | 説明 |
|---|---|
| 管理者ユーザー名 | PostgreSQL 管理者アカウントのログイン名。 |
| 管理者パスワード | 管理者アカウントのパスワード。 |
| 管理者パスワードの確認 | 管理者パスワードを再入力します。 |
AI 機能
AI 機能セクションでは、組み込みの AI モデル管理機能を有効にすることができます。 [ ENABLE AI features]\(AI 機能を有効にする \) チェックボックスをオンにしてオプトインします。 AI 機能が有効になっている場合、クラスターはモデル管理のサポート、 pgvector、および pg_diskann 拡張機能を使用してプロビジョニングします。
Note
AI 機能のセクションはプレビュー エクスペリエンスであり、環境やクラスターの構成によっては表示されない場合があります。 セクションが表示されない場合は、HorizonDB (プレビュー) クラスターの標準Azure設定とデプロイ手順に進みます。
手順 4: 使用条件に同意してデプロイする
フォームの下部:
- クラスター補足用語のチェック ボックスをオンにします。
- AI 機能を有効にし、AI 補足用語のチェック ボックスが表示されている場合は、それを選択します。
- リンクされた 利用規約 と プライバシー ポリシーを確認します。
- [ 作成] を選択してプロビジョニングを開始します。 フォームが不完全な場合は、無効な [作成 ] ボタンをポイントして、値が必要なフィールドを確認します。
拡張機能は、デプロイの各ステージを追跡する進行状況ページに移動します。 デプロイの概要には、選択した クラスター名、 サブスクリプション、 リソース グループ、 構成 (仮想コアとメモリ) が表示されます。
すべてのステージが完了すると、拡張機能によって新しいクラスターの接続プロファイルが作成されます。 [ 完了] を 選択して進行状況ページを閉じます。
Note
AI 機能を有効にし、AI モデル管理手順が失敗した場合でも、クラスターが作成され、接続プロファイルが追加されます。 進行状況ページには、AI モデル管理を手動で有効にできるように、Azure ポータルでクラスターを開く警告とリンクが表示されます。
Tip
拡張機能ウィザードで提供されるオプション以外のオプションが必要な場合は、フォームの下部にある [Azure portalで構成] を選択します。
サーバーを確認する
サーバーの作成後 (Docker またはAzure):
- [接続] ツリーでサーバー ノードを展開します。
- 既定のデータベース (
postgresおよび Docker の場合は、指定したすべてのデータベース) が一覧表示されていることを確認します。 - データベースを右クリックし、[ 新しいクエリ ] を選択してクエリ エディターを開きます。
-
SELECT version();などのテスト クエリを実行して、接続を確認します。