PostgreSQLデータベースユーザー要件
プレビュー
LakeFlow ConnectのPostgreSQLコネクタはパブリック プレビュー段階です。 パブリック プレビューに登録するには、Databricks アカウント チームにお問い合わせください。
このページでは、Databricks の取り込み用に作成する PostgreSQL レプリケーション ユーザーに必要な権限について説明します。
標準PostgreSQL
必要な権限 | コマンドを実行する場所 | 許可するコマンド |
|---|---|---|
| データベース クラスター (スーパーユーザーが必要) | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各スキーマに対して次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各テーブルまたはスキーマに対して次の SQL コマンドを実行します。 SQL |
AWS RDS と Aurora PostgreSQL
必要な権限 | コマンドを実行する場所 | 許可するコマンド |
|---|---|---|
| 任意のデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各スキーマに対して次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各テーブルまたはスキーマに対して次の SQL コマンドを実行します。 SQL |
AWS RDS および Aurora の場合、スーパーユーザー権限は必要ありません。rds_replicationロールは必要なレプリケーション権限を提供します。
PostgreSQL 用 Azure データベース
必要な権限 | コマンドを実行する場所 | 許可するコマンド |
|---|---|---|
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各スキーマに対して次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各テーブルまたはスキーマに対して次の SQL コマンドを実行します。 SQL |
Azure Database for PostgreSQL フレキシブル サーバーの場合は、サーバー パラメーターで論理レプリケーションが有効になっていることを確認します。単一サーバーの場合、サーバーazure_replication_supportをREPLICAに設定する必要があります。
GCPクラウドSQL for PostgreSQL
必要な権限 | コマンドを実行する場所 | 許可するコマンド |
|---|---|---|
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各スキーマに対して次の SQL コマンドを実行します。 SQL |
| ターゲットデータベース | 各テーブルまたはスキーマに対して次の SQL コマンドを実行します。 SQL |
システムカタログ権限
レプリケーション ユーザーには、すべての PostgreSQL プラットフォームのシステム カタログ テーブルに対するSELECT権限が必要です。
ターゲット データベースで次の SQL コマンドを実行します。
GRANT SELECT ON pg_catalog.pg_publication TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_replication_slots TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_namespace TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_class TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_attribute TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_type TO databricks_replication;
GRANT SELECT ON pg_catalog.pg_index TO databricks_replication;
レプリケーションユーザー権限を確認する
必要な権限を付与した後、レプリケーション ユーザーに正しい権限があることを確認します。
-- Check replication privilege
SELECT rolname, rolreplication FROM pg_roles WHERE rolname = 'databricks_replication';
-- Check table privileges
SELECT grantee, privilege_type
FROM information_schema.table_privileges
WHERE grantee = 'databricks_replication' AND table_schema = 'your_schema';
-- Check schema privileges
SELECT nspname, has_schema_privilege('databricks_replication', nspname, 'USAGE') AS has_usage
FROM pg_namespace
WHERE nspname = 'your_schema';