ノート:

DBeaverを使用してPostgreSQLでOracle Cloud Infrastructure Databaseに接続します

イントロダクション

このチュートリアルでは、DBeaverなどのデータベース管理ツールを使用して、PostgreSQLを使用してOracle Cloud Infrastructure Databaseに接続する方法を説明します。

DBeaverは、データベース管理、開発およびデータ分析のための使いやすいインタフェースを提供することで、PostgreSQLデータベース管理者(DBA)の効率を大幅に向上させる、無料のオープンソース・データベース管理ツールです。他のツールも検討できます。

このチュートリアルでは、プライベート・サブネット内でPostgreSQLを使用してOCIデータベースをプロビジョニングする方法を示します。さらに、2番目と3番目のタスクでは、同じVirtual Cloud Network (VCN)の要塞ホストとして機能するコンピュート・インスタンスをプロビジョニングし、DBeaverなどのデータベース管理ツールを使用してPostgreSQLデータベースにアクセスできるようにします。

次のスキーマは、このアプローチを示しています。

アーキテクチャ・ビュー

目的

前提条件

タスク1: プライベート・サブネットでのPostgreSQLデータベース・インスタンスの作成

複数の方法を使用して、OCIコンソール、CLI、APIなどのPostgreSQLデータベース・インスタンスを作成できます。詳細は、データベース・システムの作成を参照してください。

このタスクでは、OCIコンソールを使用して、管理対象PostgreSQLデータベース・システムを作成します。

  1. OCIコンソールにログインし、「データベース」PostgreSQLに移動して「DBシステム」をクリックします。

    img

  2. 「PostgreSQLデータベース・システムの作成」をクリックします。

    img

  3. 「PostgreSQLデータベース・システムの作成」ページで、「新規データベース・システムの作成」を選択し、「次へ」をクリックします。

    img

  4. 「データベース・システム構成」セクションで、次の情報を入力します。

    • データベース・システム名:データベース・システムの名前を入力します。

    • 説明(オプション):データベース・システムの説明を入力します。

    • PostgreSQLメジャー・バージョン: PostgreSQLデータベースのメジャー・バージョンを選択します。有効な値は14のみです。

  5. 「データベース・システム」セクションで、「ノード数」の値を入力します。1つのプライマリ・ノードが必要です。追加ノードは、読取りレプリカ・ノードとして予約されています。

  6. データベースの「パフォーマンス層」を選択します。詳細は、パフォーマンス層を参照してください。

  7. 「データ配置」を選択します。

    • リージョン別:データは、リージョン内の複数の可用性ドメインに永続的に格納されます。
    • 可用性ドメイン固有:データは、選択した可用性ドメインに永続的に格納されます。

    img

  8. 「ハードウェア構成」セクションに、次の情報を入力します。

    • OCPU数: 1ノード当たりのOCPUの数を選択します。

    • 使用可能なシェイプ:データベース・ノードのシェイプを選択します。

  9. 「ネットワーク構成」セクションで、次の情報を入力します。

    • Virtual Cloud Network:データベースを作成するVCNを選択します。VCNを作成する必要がある場合は、「VCNの作成」をクリックします。詳細は、VCNおよびサブネットの管理を参照してください。

    • サブネット:選択したVCNのプライベート・サブネットを選択します。

    • プライベートIPアドレス:データベース・インスタンスのサブネット内のプライベートIPアドレス。値はオプションです。IPアドレスが指定されていない場合は、指定されたサブネット内の使用可能なIPアドレスからIPアドレスが選択されます。

    img

  10. 「データベース・システム管理者資格証明」セクションで、データベースの資格証明を入力します。管理者はスーパーユーザー・アクセスを取得しません。PostgreSQL管理ユーザーを持つOCIデータベースでは、ユーザーおよびロールを作成できます。

    • ユーザー名:管理者のユーザー名を指定します。この値は、データベース・システムの作成後には変更できません。

    • パスワード・オプション:次のいずれかのオプションを選択します。

      • パスワードの入力:

        • パスワード:管理者パスワードを入力します。

        • パスワードの確認:管理者パスワードを確認します。

      • OCIボールトの使用:

        • Vault:管理者パスワードを含むボールトを選択します。

        • シークレット:管理者パスワードを含むシークレットを選択します。

        • シークレット・バージョン:シークレット・バージョンを選択します。

    img

  11. データベース・システムを構成したら、「次へ」をクリックします。

  12. データベース・システム構成を確認し、「送信」をクリックします。

    img

  13. 作成に成功したら、データベース・システムの一般情報ページにアクセスします。

    img

タスク2: PostgreSQLに接続するためのOCIコンピュート・インスタンスの作成

PostgreSQLデータベースがプライベート・ネットワーク内にデプロイされています。パブリックIPアドレスを持つインスタンスを作成し、PostgreSQLへのアクセス権を付与します。この新しく作成されたインスタンスは、PostgreSQLデータベースのエントリ・ポイントとして機能します。

  1. OCIコンソールに移動し、「コンピュート」および「インスタンス」に移動します。

    イメージ

  2. OCI PostgreSQLデータベース・インスタンスをプロビジョニングしたのと同じVCNのパブリック・サブネットを選択します。

    イメージ

  3. インスタンスにSSH接続し、次のコマンドを実行します。これにより、PostgreSQLバージョン14のクライアントがインストールされます。

    sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    sudo dnf -qy module disable postgresql
    sudo dnf install -y postgresql14-server
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    sudo systemctl enable postgresql-14
    sudo systemctl start postgresql-14
    

    rm -rf ~/.pgpass

  4. OCI PostgreSQLの概要ページに移動し、CA証明書の「コピー」をクリックするか、証明書をダウンロードして、ターミナルで次のコマンドを実行します。

    sudo nano ./dbsystem.pub
    

    dbsystem.pubファイルに完全な証明書をコピーして貼り付けます。保存してファイルを閉じます。

  5. 次のコマンドを使用して、接続をテストします。

    psql -h [DB Private IP] -U [user name] -d postgres
    

    たとえば次のようにします。

    psql -h 10.0.1.165 -U admin -d postgres
    
  6. テストとして文を実行し、接続を確認します。

    SELECT VERSION();
    

    イメージ

  7. 次の文を実行して、ユーザーとして接続します。

    psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
    

    たとえば次のようにします。

    psql "sslmode=verify-full sslrootcert=dbsystem.pub host=
    yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
    
  8. 次の文を実行して、接続が機能しているかどうかをテストします。

    SELECT VERSION();
    

タスク3: DBeaverを使用した接続

このタスクでは、DBeaverをインストールし、PostgreSQLに接続します。

  1. DBeaver CommunityからDBeaverをダウンロードしてインストールします。

  2. PostgreSQLを使用してOCIデータベースに接続するための資格証明を追加します。

    イメージ

  3. 仮想マシン(VM)の IPアドレスと Port 22を入力します。DBeaverは、SSHを使用してパブリック・サブネットの同じVMインスタンスを使用し、PostgreSQLデータベースでOCIデータベースにアクセスします。

    イメージ

  4. (オプション)次の文を実行して、DBeaverを使用して表を作成し、データをロードします。

    DROP TABLE cars;
    CREATE TABLE cars (
      brand VARCHAR(255),
      model VARCHAR(255),
      year INT
    );
    INSERT INTO cars (brand, model, year)
    VALUES
      ('Toyota', 'Camry', 2023),
      ('Honda', 'Accord', 2022),
      ('Ford', 'Mustang', 2024),
      ('Chevrolet', 'Corvette', 2023),
      ('BMW', '3 Series', 2021),
      ('Mercedes-Benz', 'C-Class', 2022),
      ('Volkswagen', 'Golf', 2023),
      ('Audi', 'A4', 2024);
    COMMIT;
    SELECT * FROM cars;
    

    作成されたテーブルの概要。

    イメージ

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。