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

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モード:VeloDB CloudがVPC Private Link経由でVPCに接続する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 Mode: PostgreSQLサービスにアクセスするには、VeloDBがVPCにアクセスできるように許可する必要があります。Grant VeloDB Access to Your VPCを参照してください
  • BYOC Mode: 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;