Présentation de PGAdapter

Cette page présente PGAdapter. Pour savoir comment démarrer PGAdapter, consultez la section Démarrer PGAdapter.

PGAdapter est un proxy side-car compatible avec l' interface PostgreSQL pour Spanner. Il s'exécute sur la même machine que l'application et expose un point de terminaison sur localhost compatible avec le protocole filaire PostgreSQL. Il traduit le protocole fil PostgreSQL en protocole de fil Spanner, gRPC. Avec ce proxy s'exécutant localement, un client PostgreSQL tel que psql peut se connecter à une base de données Spanner basée sur PostgreSQL.

Le schéma suivant montre comment psql se connecte à Spanner via PGAdapter.

psql se connecte à Spanner via PGAdapter

PGAdapter accepte les modes de requête simple et étendu, ainsi que tous les types de données compatibles avec l'interface PostgreSQL pour Spanner.

Environnements d'exécution PGAdapter

Vous pouvez exécuter PGAdapter à l'aide de l'une des méthodes suivantes :

  • Configuration autonome. PGAdapter est fourni sous forme de fichier JAR et s'exécute de manière autonome dans la JVM.
  • Docker PGAdapter est également empaqueté sous forme d'image Docker.
  • Cloud Run. PGAdapter peut être déployé en tant que proxy side-car sur Cloud Run.
  • Proxy side-car : Un proxy side-car est généralement utilisé dans un cluster Kubernetes.
  • En cours de traitement. Votre code d'application Java peut utiliser le fichier JAR fourni pour créer et démarrer une instance PGAdapter.

Pour en savoir plus sur ces méthodes, consultez Démarrer PGAdapter.

Autorisation avec PGAdapter

PGAdapter détermine le compte de service ou un autre compte principal Identity and Access Management (IAM) à utiliser pour la connexion en examinant les identifiants que vous spécifiez au démarrage. Les autorisations IAM accordées à ce compte principal déterminent les autorisations dont dispose l'application qui se connecte sur la base de données.

Lorsque vous utilisez un contrôle des accès ultraprécis, vous pouvez éventuellement spécifier un rôle de base de données au démarrage de PGAdapter. Si vous spécifiez un rôle de base de données, PGAdapter utilise un contrôle des accès ultraprécis lors de l'envoi de requêtes de requêtes et d'instructions LMD. Cela nécessite l'autorisation IAM spanner.databases.useRoleBasedAccess et, pour les rôles de base de données autres que public, l'autorisation spanner.databaseRoles.use. Les droits accordés au rôle de base de données déterminent les opérations que l'application connectée peut effectuer. Si vous ne spécifiez pas de rôle de base de données, les autorisations accordées au niveau de la base de données au compte principal IAM sont utilisées. Pour exécuter des instructions LDD, le compte principal doit disposer de l'autorisation spanner.databases.updateDdl.

Pour en savoir plus, consultez les pages À propos du contrôle ultraprécis des accès et Contrôle des accès avec IAM.

Étapes suivantes