メタデータソース画面の接続設定タブについて(PostgreSQL 7.4~)

PostgreSQLからMashuにメタデータを取込む方法を説明します。

PostgreSQLからMashuにメタデータを取込むには、Mashuサーバーが必要です。
MashuサーバーからPostgreSQLに接続する場合には、ユーザー設定のMashuサーバー設定のエンドポイントを設定する必要があります。

PostgreSQLに対するメタデータソースを作成するためには、メタデータソースを作成する際にタイプとして PostgreSQL を選択する必要があります。

PostgreSQLとの連携には、PostgreSQLへの接続情報が必要です。

  • Host: MashuサーバーからPostgreSQLサーバーへ接続する際に使用する、PostgreSQLサーバーのホスト名を指定します。

MashuサーバーをPostgreSQLサーバー上のDockerコンテナとしている場合、localhostでは接続できません。Dockerコンテナからコンテナのホストコンピュータが参照できるように、PostgreSQLサーバーの外向きのIPアドレスなどを指定してください。

  • Port: PostgreSQLサーバーのポート番号を指定します。ポート番号を指定しない場合PostgreSQLのデフォルトポート番号5432が使用されます。
  • DBName: 接続対象となるPostgreSQLデータベースの名前を指定します。

  • User: PostgreSQLへの接続に使用するユーザー名を指定します。

  • Password: 上記Userに対応するパスワードを指定します。

  • SSL接続: PostgreSQLサーバーとSSLを用いて通信したい場合は、SSL接続をONにします。

必要なデータベース権限:

指定するUserには、以下の権限が付与されている必要があります。

  1. スキーマの使用権限: 対象スキーマに対するUSAGE権限が必要です。

    GRANT USAGE ON SCHEMA <スキーマ名> TO <ユーザー名>;
  2. 既存テーブルへの SELECT, REFERENCES 権限: 対象スキーマ内のすべての既存テーブルに対するSELECT REFERENCES権限が必要です。

    GRANT SELECT, REFERENCES ON ALL TABLES IN SCHEMA <スキーマ名> TO <ユーザー名>;

将来作成されるテーブルへの権限設定について:

上記 GRANT SELECT, REFERENCES ON ALL TABLES コマンドは、実行時点でスキーマ内に存在するテーブルに対してのみSELECT REFERENCES権限を付与します。そのため、このコマンド実行後に新しく作成されたテーブルには、自動的にSELECT REFERENCES権限が付与されません。

将来作成されるテーブルにも自動的にSELECT REFERENCES権限を付与するためには、以下のコマンドを実行して、対象スキーマにおけるデフォルト権限を設定してください。

ALTER DEFAULT PRIVILEGES IN SCHEMA <スキーマ名> GRANT SELECT, REFERENCES ON TABLES TO <ユーザー名>;

これにより、<ユーザー名>は、<スキーマ名>内で今後作成される新しいテーブルに対しても、自動的にSELECT REFERENCES権限を持つようになります。

「保存する」ボタンを押して、接続に成功するとスキーマ選択ができます。


メタデータを同期するテーブルが含まれるスキーマを指定してください。メタデータを同期するには、メタデータソース画面のメタデータタブで「メタデータ同期」ボタンを押します。