Exigences relatives aux utilisateurs de la base de données PostgreSQL
Aperçu
Le connecteur PostgreSQL pour Lakeflow Connect est en aperçu public. Contactez votre équipe de compte Databricks pour vous inscrire à l'aperçu public.
Cette page décrit les privilèges requis pour l'utilisateur de réplication PostgreSQL que vous créez pour l'ingestion Databricks.
PostgreSQL standard
Privilèges requis | Où exécuter les commandes | Commandes à accorder |
|---|---|---|
| Cluster de base de données (super-utilisateur requis) | Exécutez les commandes SQL suivantes : SQL |
| Base de données cible | Exécutez la commande SQL suivante : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque schéma : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque table ou schéma : SQL |
AWS RDS et Aurora PostgreSQL
Privilèges requis | Où exécuter les commandes | Commandes à accorder |
|---|---|---|
| Toute base de données | Exécutez les commandes SQL suivantes : SQL |
| Base de données cible | Exécutez la commande SQL suivante : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque schéma : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque table ou schéma : SQL |
Pour AWS RDS et Aurora, vous n'avez pas besoin de privilèges de superutilisateur. Le rôle rds_replication fournit les privilèges de réplication nécessaires.
Base de données Azure pour PostgreSQL
Privilèges requis | Où exécuter les commandes | Commandes à accorder |
|---|---|---|
| Base de données cible | Exécutez les commandes SQL suivantes : SQL |
| Base de données cible | Exécutez la commande SQL suivante : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque schéma : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque table ou schéma : SQL |
Pour Azure Database pour PostgreSQL - Serveur flexible, assurez-vous que la réplication logique est activée dans les paramètres du serveur. Pour un Serveur unique, le paramètre de serveur azure_replication_support doit être défini sur REPLICA.
GCP Cloud SQL pour PostgreSQL
Privilèges requis | Où exécuter les commandes | Commandes à accorder |
|---|---|---|
| Base de données cible | Exécutez les commandes SQL suivantes : SQL |
| Base de données cible | Exécutez la commande SQL suivante : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque schéma : SQL |
| Base de données cible | Exécutez la commande SQL suivante pour chaque table ou schéma : SQL |
Privilèges du catalogue système
L'utilisateur de réplication nécessite SELECT privilèges sur les tables du catalogue système pour toutes les plateformes PostgreSQL.
Exécutez les commandes SQL suivantes sur la base de données cible :
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;
Vérifiez les privilèges de l'utilisateur de réplication
Après avoir octroyé les privilèges nécessaires, vérifiez que l'utilisateur de réplication dispose des autorisations correctes :
-- 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';