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

PostgreSQLデータベースユーザー要件

備考

プレビュー

LakeFlow ConnectのPostgreSQLコネクタはパブリック プレビュー段階です。 パブリック プレビューに登録するには、Databricks アカウント チームにお問い合わせください。

このページでは、Databricks の取り込み用に作成する PostgreSQL レプリケーション ユーザーに必要な権限について説明します。

標準PostgreSQL

必要な権限

コマンドを実行する場所

許可するコマンド

REPLICATION ロール

データベース クラスター (スーパーユーザーが必要)

次の SQL コマンドを実行します。

SQL
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;

CONNECT データベースに対する権限

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE スキーマに対する権限

ターゲットデータベース

各スキーマに対して次の SQL コマンドを実行します。

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT テーブルに対する権限

ターゲットデータベース

各テーブルまたはスキーマに対して次の SQL コマンドを実行します。

SQL
-- For specific tables
GRANT SELECT ON TABLE schema_name.table_name TO databricks_replication;

-- For all tables in a schema
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO databricks_replication;

-- For future tables in a schema
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO databricks_replication;

AWS RDS と Aurora PostgreSQL

必要な権限

コマンドを実行する場所

許可するコマンド

rds_replication ロール

任意のデータベース

次の SQL コマンドを実行します。

SQL
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
GRANT rds_replication TO databricks_replication;

CONNECT データベースに対する権限

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE スキーマに対する権限

ターゲットデータベース

各スキーマに対して次の SQL コマンドを実行します。

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT テーブルに対する権限

ターゲットデータベース

各テーブルまたはスキーマに対して次の SQL コマンドを実行します。

SQL
-- For specific tables
GRANT SELECT ON TABLE schema_name.table_name TO databricks_replication;

-- For all tables in a schema
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO databricks_replication;

-- For future tables in a schema
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO databricks_replication;
注記

AWS RDS および Aurora の場合、スーパーユーザー権限は必要ありません。rds_replicationロールは必要なレプリケーション権限を提供します。

PostgreSQL 用 Azure データベース

必要な権限

コマンドを実行する場所

許可するコマンド

REPLICATION ロール

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;

CONNECT データベースに対する権限

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE スキーマに対する権限

ターゲットデータベース

各スキーマに対して次の SQL コマンドを実行します。

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT テーブルに対する権限

ターゲットデータベース

各テーブルまたはスキーマに対して次の SQL コマンドを実行します。

SQL
-- For specific tables
GRANT SELECT ON TABLE schema_name.table_name TO databricks_replication;

-- For all tables in a schema
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO databricks_replication;

-- For future tables in a schema
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO databricks_replication;
注記

Azure Database for PostgreSQL フレキシブル サーバーの場合は、サーバー パラメーターで論理レプリケーションが有効になっていることを確認します。単一サーバーの場合、サーバーazure_replication_supportREPLICAに設定する必要があります。

GCPクラウドSQL for PostgreSQL

必要な権限

コマンドを実行する場所

許可するコマンド

REPLICATION ロール

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;

CONNECT データベースに対する権限

ターゲットデータベース

次の SQL コマンドを実行します。

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE スキーマに対する権限

ターゲットデータベース

各スキーマに対して次の SQL コマンドを実行します。

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT テーブルに対する権限

ターゲットデータベース

各テーブルまたはスキーマに対して次の SQL コマンドを実行します。

SQL
-- For specific tables
GRANT SELECT ON TABLE schema_name.table_name TO databricks_replication;

-- For all tables in a schema
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO databricks_replication;

-- For future tables in a schema
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO databricks_replication;

システムカタログ権限

レプリケーション ユーザーには、すべての PostgreSQL プラットフォームのシステム カタログ テーブルに対するSELECT権限が必要です。

ターゲット データベースで次の SQL コマンドを実行します。

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;

レプリケーションユーザー権限を確認する

必要な権限を付与した後、レプリケーション ユーザーに正しい権限があることを確認します。

SQL
-- 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';