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
には、以下の権限が付与されている必要があります。
-
スキーマの使用権限: 対象スキーマに対する
USAGE
権限が必要です。GRANT USAGE ON SCHEMA <スキーマ名> TO <ユーザー名>;
-
既存テーブルへの 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
権限を持つようになります。
「保存する」ボタンを押して、接続に成功するとスキーマ選択ができます。
メタデータを同期するテーブルが含まれるスキーマを指定してください。メタデータを同期するには、メタデータソース画面のメタデータタブで「メタデータ同期」ボタンを押します。