Pular para o conteúdo principal

Requisitos do usuário do banco de dados PostgreSQL

info

Visualização

O conector PostgreSQL para LakeFlow Connect está em versão prévia pública. Entre em contato com a equipe da sua account Databricks para se inscrever na Prévia Pública.

Esta página descreve os privilégios necessários para o usuário de replicação do PostgreSQL que você cria para a ingestão de dados no Databricks.

PostgreSQL padrão

Privilégios necessários

Onde executar o comando

comando para conceder

REPLICATION Função

cluster de banco de dados (requer superusuário)

execute o seguinte comando SQL :

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

CONNECT privilégio no banco de dados

Banco de dados alvo

execute o seguinte comando SQL :

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE privilégio em esquemas

Banco de dados alvo

execute o seguinte comando SQL para cada esquema:

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT privilégio nas mesas

Banco de dados alvo

Execute o seguinte comando SQL para cada tabela ou esquema:

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 e Aurora PostgreSQL

Privilégios necessários

Onde executar o comando

comando para conceder

rds_replication Função

Qualquer banco de dados

execute o seguinte comando SQL :

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

CONNECT privilégio no banco de dados

Banco de dados alvo

execute o seguinte comando SQL :

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE privilégio em esquemas

Banco de dados alvo

execute o seguinte comando SQL para cada esquema:

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT privilégio nas mesas

Banco de dados alvo

Execute o seguinte comando SQL para cada tabela ou esquema:

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

Para AWS RDS e Aurora, você não precisa de privilégios de superusuário. A função rds_replication fornece os privilégios de replicação necessários.

Banco de Dados do Azure para PostgreSQL

Privilégios necessários

Onde executar o comando

comando para conceder

REPLICATION Função

Banco de dados alvo

execute o seguinte comando SQL :

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

CONNECT privilégio no banco de dados

Banco de dados alvo

execute o seguinte comando SQL :

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE privilégio em esquemas

Banco de dados alvo

execute o seguinte comando SQL para cada esquema:

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT privilégio nas mesas

Banco de dados alvo

Execute o seguinte comando SQL para cada tabela ou esquema:

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

Para o Servidor Flexível do Banco de Dados do Azure para PostgreSQL, certifique-se de que a replicação lógica esteja habilitada nos parâmetros do servidor. Para servidor único, o parâmetro de servidor azure_replication_support deve ser definido como REPLICA.

GCP Cloud SQL para PostgreSQL

Privilégios necessários

Onde executar o comando

comando para conceder

REPLICATION Função

Banco de dados alvo

execute o seguinte comando SQL :

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

CONNECT privilégio no banco de dados

Banco de dados alvo

execute o seguinte comando SQL :

SQL
GRANT CONNECT ON DATABASE your_database TO databricks_replication;

USAGE privilégio em esquemas

Banco de dados alvo

execute o seguinte comando SQL para cada esquema:

SQL
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;

SELECT privilégio nas mesas

Banco de dados alvo

Execute o seguinte comando SQL para cada tabela ou esquema:

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;

privilégios do catálogo do sistema

O usuário de replicação requer privilégios SELECT nas tabelas de catálogo do sistema para todas as plataformas PostgreSQL.

execute o seguinte comando SQL no banco de dados de destino:

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;

Verificar privilégios de usuário de replicação

Após conceder os privilégios necessários, verifique se o usuário de replicação possui as permissões corretas:

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