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. Elle 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 de communication PostgreSQL en protocole filaire Spanner, gRPC. Lorsque ce proxy s'exécute localement, un client PostgreSQL tel que psql peut se connecter à une base de données Spanner avec le dialecte PostgreSQL.

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

Connexion psql à 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 la forme d'une image Docker.
  • Cloud Run. PGAdapter peut être déployé en tant que proxy side-car sur Cloud Run.
  • Proxy side-car : Les clusters Kubernetes sont généralement utilisés comme proxy side-car.
  • 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 IAM (Identity and Access Management) à utiliser pour la connexion en examinant les identifiants que vous spécifiez au moment de son 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.

En cas d'utilisation d'un contrôle des accès ultraprécis, vous pouvez éventuellement spécifier un rôle de base de données lorsque vous démarrez PGAdapter. Si vous spécifiez un rôle de base de données, PGAdapter utilise un contrôle des accès ultraprécis lorsqu'il envoie des requêtes et des 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 au niveau de la base de données accordées au compte principal IAM sont utilisées. Pour effectuer 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 précis des accès et Contrôle des accès avec IAM.

Étapes suivantes