PostgreSQLからMashuへメタデータを同期するためには、Mashuサーバーのセットアップが必要です。Mashuサーバーのセットアップ方法はオンプレミス用のMashuサーバーを参照してください。
PostgreSQLのメタデータを同期するために、タイプとして「PostgreSQL」を選択してデータソースを作成します。
データソース画面の「接続設定」タブで、PostgreSQLへの接続情報を設定します。
localhost を使用すると接続できません。Dockerコンテナからホストマシン上のPostgreSQLサーバーを参照できるように、ホストマシンのIPアドレスや、お使いのDockerネットワーク環境に応じた適切な接続情報を指定してください。5432が使用されます。Userに対応するパスワードを指定します。MashuがPostgreSQLからメタデータを同期したり、データをプレビューするためには、接続に使用するユーザーに対して、適切な権限が付与されている必要があります。
USAGE権限同期対象スキーマに対する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権限を持つようになります。
PostgreSQLへの接続情報を入力後、「保存」ボタンをクリックします。PostgreSQLへの接続に成功すると、メタデータを同期するスキーマを選択できるようになります。
同期したいメタデータが含まれるスキーマを選択してください。
データソース画面の「メタデータ」タブに移動し、「メタデータ同期」ボタンをクリックすることで、PostgreSQLからのメタデータ同期が開始されます。