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 le service Interface PostgreSQL pour Spanner Il s'exécute sur le même réseau, machine comme application et expose un point de terminaison sur localhost qui prend en charge le protocole filaire PostgreSQL. Il traduit les chaînes PostgreSQL au protocole filaire de Spanner, gRPC. Avec ce proxy s'exécutant localement, un client PostgreSQL tel que psql peut se connecter Base de données Spanner avec le dialecte 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. accepte 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 exécute 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 environnement Kubernetes cluster.
  • En cours de traitement. Le code de votre application Java peut utiliser le fichier JAR fourni pour créer et démarrer une instance de PGAdapter.

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

Autorisation avec PGAdapter

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

Lorsque vous utilisez un contrôle des accès ultraprécis, vous pouvez éventuellement spécifier un de base de données au démarrage de PGAdapter. Si vous spécifiez un rôle de base de données, PGAdapter contrôle des accès de manière ultraprécise lorsqu'il envoie des requêtes de requêtes et les instructions LMD. Cette opération nécessite l'autorisation IAM spanner.databases.useRoleBasedAccess. Pour les rôles de base de données autres que public, l'autorisation spanner.databaseRoles.use. Les droits accordés aux le rôle de base de données déterminent les opérations que l'application connectée peut effectuer effectuer. Si vous ne spécifiez pas de rôle de base de données, le rôle les autorisations accordées au rôle IAM principal sont utilisés. Pour exécuter des instructions LDD, le compte principal doit disposer du rôle 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

Étape suivante