다음을 통해 공유


PostgreSQL 데이터베이스 사용자 요구 사항

중요합니다

Lakeflow Connect용 PostgreSQL 커넥터는 공개 미리 보기로 제공됩니다. 공개 미리 보기에 등록하려면 Databricks 계정 팀에 문의하세요.

이 페이지에서는 Databricks 수집을 위해 만든 PostgreSQL 복제 사용자에게 필요한 권한을 설명합니다.

Standard PostgreSQL

필요한 권한 명령을 실행할 위치 부여할 명령
REPLICATION 역할 데이터베이스 클러스터(슈퍼 사용자 필요) 다음 SQL 명령을 실행합니다.
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT 데이터베이스에 대한 권한 대상 데이터베이스 다음 SQL 명령을 실행합니다.
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE 스키마에 대한 권한 대상 데이터베이스 각 스키마에 대해 다음 SQL 명령을 실행합니다.
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT 테이블에 대한 권한 대상 데이터베이스 각 테이블 또는 스키마에 대해 다음 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 명령을 실행합니다.
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
GRANT rds_replication TO databricks_replication;
CONNECT 데이터베이스에 대한 권한 대상 데이터베이스 다음 SQL 명령을 실행합니다.
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE 스키마에 대한 권한 대상 데이터베이스 각 스키마에 대해 다음 SQL 명령을 실행합니다.
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT 테이블에 대한 권한 대상 데이터베이스 각 테이블 또는 스키마에 대해 다음 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 명령을 실행합니다.
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT 데이터베이스에 대한 권한 대상 데이터베이스 다음 SQL 명령을 실행합니다.
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE 스키마에 대한 권한 대상 데이터베이스 각 스키마에 대해 다음 SQL 명령을 실행합니다.
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT 테이블에 대한 권한 대상 데이터베이스 각 테이블 또는 스키마에 대해 다음 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_support .로 REPLICA설정해야 합니다.

GCP Cloud SQL for PostgreSQL (GCP의 PostgreSQL용 클라우드 SQL)

필요한 권한 명령을 실행할 위치 부여할 명령
REPLICATION 역할 대상 데이터베이스 다음 SQL 명령을 실행합니다.
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT 데이터베이스에 대한 권한 대상 데이터베이스 다음 SQL 명령을 실행합니다.
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE 스키마에 대한 권한 대상 데이터베이스 각 스키마에 대해 다음 SQL 명령을 실행합니다.
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT 테이블에 대한 권한 대상 데이터베이스 각 테이블 또는 스키마에 대해 다음 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 명령을 실행합니다.

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