Gebruikersvereisten voor PostgreSQL-database

Belangrijk

De PostgreSQL-connector voor Lakeflow Connect bevindt zich in openbare preview. Neem contact op met uw Databricks-accountteam om u in te schrijven voor de openbare preview.

Op deze pagina worden de bevoegdheden beschreven die vereist zijn voor de PostgreSQL-replicatiegebruiker die u voor Databricks-opname maakt.

Standard PostgreSQL

Vereiste bevoegdheden Waar de opdrachten worden uitgevoerd Opdrachten die moeten worden verleend
REPLICATION rol Database-cluster (superuser vereist) Voer de volgende SQL-opdrachten uit:
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT bevoegdheid voor de database Doeldatabase Voer de volgende SQL-opdracht uit:
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE bevoegdheid voor schema's Doeldatabase Voer de volgende SQL-opdracht uit voor elk schema:
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT bevoegdheden voor tabellen Doeldatabase Voer de volgende SQL-opdracht uit voor elke tabel of elk schema:
-- 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 en Aurora PostgreSQL

Vereiste bevoegdheden Waar de opdrachten worden uitgevoerd Opdrachten die moeten worden verleend
rds_replication rol Elke database Voer de volgende SQL-opdrachten uit:
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
GRANT rds_replication TO databricks_replication;
CONNECT bevoegdheid voor de database Doeldatabase Voer de volgende SQL-opdracht uit:
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE bevoegdheid voor schema's Doeldatabase Voer de volgende SQL-opdracht uit voor elk schema:
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT bevoegdheden voor tabellen Doeldatabase Voer de volgende SQL-opdracht uit voor elke tabel of elk schema:
-- 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;

Opmerking

Voor AWS RDS en Aurora hebt u geen superuserbevoegdheden nodig. De rds_replication rol biedt de benodigde replicatiebevoegdheden.

Azure-database voor PostgreSQL

Vereiste bevoegdheden Waar de opdrachten worden uitgevoerd Opdrachten die moeten worden verleend
REPLICATION rol Doeldatabase Voer de volgende SQL-opdrachten uit:
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT bevoegdheid voor de database Doeldatabase Voer de volgende SQL-opdracht uit:
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE bevoegdheid voor schema's Doeldatabase Voer de volgende SQL-opdracht uit voor elk schema:
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT bevoegdheden voor tabellen Doeldatabase Voer de volgende SQL-opdracht uit voor elke tabel of elk schema:
-- 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;

Opmerking

Zorg ervoor dat logische replicatie is ingeschakeld in de serverparameters voor Azure Database for PostgreSQL Flexible Server. Voor één server moet de azure_replication_support serverparameter worden ingesteld op REPLICA.

GCP Cloud SQL for PostgreSQL

Vereiste bevoegdheden Waar de opdrachten worden uitgevoerd Opdrachten die moeten worden verleend
REPLICATION rol Doeldatabase Voer de volgende SQL-opdrachten uit:
CREATE USER databricks_replication WITH PASSWORD 'your_secure_password';
ALTER USER databricks_replication WITH REPLICATION;
CONNECT bevoegdheid voor de database Doeldatabase Voer de volgende SQL-opdracht uit:
GRANT CONNECT ON DATABASE your_database TO databricks_replication;
USAGE bevoegdheid voor schema's Doeldatabase Voer de volgende SQL-opdracht uit voor elk schema:
GRANT USAGE ON SCHEMA schema_name TO databricks_replication;
SELECT bevoegdheden voor tabellen Doeldatabase Voer de volgende SQL-opdracht uit voor elke tabel of elk schema:
-- 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;

Systeemcatalogusbevoegdheden

De replicatiegebruiker vereist SELECT bevoegdheden voor systeemcatalogustabellen voor alle PostgreSQL-platforms.

Voer de volgende SQL-opdrachten uit op de doeldatabase:

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;

Bevoegdheden van replicatiegebruikers controleren

Nadat u de benodigde bevoegdheden hebt verleend, controleert u of de replicatiegebruiker over de juiste machtigingen beschikt:

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