メインコンテンツまでスキップ

PostgreSQLカタログ

PostgreSQL Catalogを作成することで、VeloDB Cloud内でPostgreSQLデータベースのデータを直接クエリでき、データソース間での連合クエリを可能にします。

前提条件

  • PostgreSQLデータベースインスタンスが稼働している
  • クエリ権限を持つデータベースユーザーが準備されている
  • VeloDB CloudがネットワークからPostgreSQLインスタンスにアクセスできる

AWS RDS/Aurora設定(オプション)

Amazon RDS for PostgreSQLまたはAmazon Aurora PostgreSQLを使用している場合、以下の準備を完了する必要があります:

1. データベースエンドポイントとポートの取得

  1. AWS RDSコンソールにサインインします

  2. 左側のナビゲーションバーでDatabasesを選択します

  3. データベースインスタンス名をクリックします

  4. Connectivity & securityタブで以下を確認します:

    • Endpoint: データベース接続アドレス(例:mydb.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com)
    • Port: データベースポート(PostgreSQLのデフォルトは5432)

    Aurora Cluster: Aurora PostgreSQLを使用している場合、実際のニーズに応じて、Readerエンドポイント(読み取り専用クエリ)またはClusterエンドポイント(読み取り/書き込み)の使用を推奨します。

2. セキュリティグループの設定

RDSインスタンスのセキュリティグループがVeloDB Cloudからのアクセスを許可していることを確認します:

  1. RDSインスタンス詳細ページのConnectivity & securityタブで、VPC security groups下のセキュリティグループリンクをクリックします
  2. Inbound rulesタブを選択し、Edit inbound rulesをクリックします
  3. ルールを追加します:
    • Type: PostgreSQL
    • Port range: 5432(またはカスタムポート)
    • Source:
      • SAASモード: VPC Private Link経由でVPCに接続するVeloDB CloudのIPアドレス範囲
      • BYOCモード: VPC CIDRまたはセキュリティグループ
  4. Save rulesをクリックします

3. データベースユーザー権限の設定

RDSインスタンスに接続し、適切な権限を持つユーザーを作成します:

-- Create user
CREATE USER velodb_user WITH PASSWORD 'your_password';
-- Grant database connection permission
GRANT CONNECT ON DATABASE your_database TO velodb_user;
-- Grant schema usage permission
GRANT USAGE ON SCHEMA public TO velodb_user;
-- Grant read-only permission (recommended for query scenarios)
GRANT SELECT ON ALL TABLES IN SCHEMA public TO velodb_user;
-- Grant read-only permission for future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO velodb_user;
-- Or grant read-write permission (if data write is needed)
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO velodb_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO velodb_user;

セキュリティ推奨事項: 最小権限の原則に従い、必要なデータベースとテーブルの権限のみを付与してください。

4. ネットワーク要件

  • SAASモード: PostgreSQLサービスにアクセスするには、VeloDBがVPCにアクセスできるようにする必要があります。velodb-accesses-your-vpcを参照してください
  • BYOCモード: PostgreSQLサービスにアクセスするには、デプロイ時のネットワークポリシーを参照する必要があります。create-vpc-network-resourcesを参照してください

Catalogの作成

ステップ1: 作成ページへのアクセス

  1. VeloDB Cloudコンソールにサインインします
  2. 左側のナビゲーションバーで、Catalogsをクリックします
  3. Add External Catalogボタンをクリックします
  4. Databaseカテゴリの下で、PostgreSQLを選択します

ステップ2: 接続情報の設定

pg-1

フィールド必須説明
Catalog NameCatalogの一意の名前で、SQLクエリでこのデータソースを識別するために使用されます。
Commentオプションの説明。
JDBC URLPostgreSQL用のJDBC接続文字列。形式: jdbc:postgresql://<host>:<port>/<database>
Userデータベースのユーザー名。
Passwordデータベースのパスワード。

JDBC URLの例:

  • 基本形式: jdbc:postgresql://pg.example.com:5432/postgres
  • パラメータ付き: jdbc:postgresql://pg.example.com:5432/mydb?sslmode=require

注意: PostgreSQL JDBC URLは、データベース名(例:postgres)を指定する必要があります。

ステップ3: 詳細設定(オプション)

Advanced Settingsをクリックして、接続プールサイズ、タイムアウト設定などの追加オプションを設定します。

ステップ4: 作成の確認

  • 設定情報を確認します
  • ConfirmボタンをクリックしてCatalogを作成します

Catalogの使用

-- View schema list
SHOW DATABASES FROM pg_catalog;

-- View table list
SHOW TABLES FROM pg_catalog.public;

-- Query data
SELECT * FROM pg_catalog.public.my_table LIMIT 100;