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.
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
- Lancer PGAdapter
- En savoir plus sur le dépôt GitHub PGAdapter
- En savoir plus sur les pilotes PostgreSQL et ORM pour un tableau des pilotes PostgreSQL et des ORM que PGAdapter compatibles.