중요합니다
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 tablesGRANT 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 schemaALTER 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 tablesGRANT 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 schemaALTER 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 tablesGRANT 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 schemaALTER 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 tablesGRANT 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 schemaALTER 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';