PGAdapter – Übersicht

Auf dieser Seite erhalten Sie einen Überblick über PGAdapter. Informationen zum Starten von PGAdapter finden Sie unter PGAdapter starten.

PGAdapter ist ein Sidecar-Proxy, der den PostgreSQL-Schnittstelle für Spanner Es wird auf demselben Computer wie die Anwendung ausgeführt und stellt einen Endpunkt auf localhost bereit, der das PostgreSQL-Netzwerkprotokoll unterstützt. Es übersetzt die PostgreSQL- in das Spanner-Kabelprotokoll gRPC. Mit diesem Proxy kann ein PostgreSQL-Client wie psql eine Verbindung zu einem Spanner-Datenbank mit PostgreSQL-Dialekt

Das folgende Diagramm zeigt, wie psql über PGAdapter eine Verbindung zu Spanner herstellt.

psql stellt eine Verbindung zu Spanner über PGAdapter her

PGAdapter unterstützt einfache und erweiterte Abfragemodi und unterstützt jeden Datentyp, der von der PostgreSQL-Schnittstelle für Spanner unterstützt wird.

PGAdapter-Ausführungsumgebungen

Sie können PGAdapter mit einer der folgenden Methoden ausführen:

  • Eigenständig. PGAdapter wird als JAR-Datei bereitgestellt und wird eigenständig in der JVM ausgeführt.
  • Docker PGAdapter ist auch in ein Docker-Image gepackt.
  • Cloud Run. PGAdapter kann als Sidecar-Proxy bereitgestellt werden in Cloud Run.
  • Sidecar-Proxy Ein typischer Einsatz als Sidecar-Proxy ist in einem Kubernetes-Cluster.
  • In Bearbeitung. Ihr Java-Anwendungscode kann die bereitgestellte JAR-Datei verwenden, um eine PGAdapter-Instanz zu erstellen und zu starten.

Weitere Informationen zu diesen Methoden finden Sie unter PGAdapter starten.

Autorisierung mit PGAdapter

PGAdapter bestimmt das Dienstkonto oder den anderen IAM-Hauptbenutzer (Identity and Access Management), der für die Verbindung verwendet werden soll. Dazu werden die Anmeldedaten geprüft, die Sie beim Starten angeben. Die diesem Hauptkonto gewährten IAM-Berechtigungen bestimmen die Berechtigungen, die die verbindende Anwendung für die Datenbank hat.

Wenn die detaillierte Zugriffssteuerung verwendet wird, können Sie beim Starten von PGAdapter optional eine Datenbankrolle angeben. Wenn Sie eine Datenbankrolle angeben, verwendet PGAdapter die detaillierte Zugriffssteuerung, wenn Anfragen für Abfragen und DML-Anweisungen gesendet werden. Hierfür ist die IAM-Berechtigung spanner.databases.useRoleBasedAccess und für andere Datenbankrollen als public die Berechtigung spanner.databaseRoles.use erforderlich. Die Berechtigungen, die gewährt wurden, Die Datenbankrolle bestimmt die Vorgänge, die die Anwendung, die eine Verbindung herstellt, zu erzielen. Wenn Sie keine Datenbankrolle angeben, werden die Berechtigungen auf Datenbankebene verwendet, die dem IAM-Hauptkonto gewährt wurden. Zum Ausführen von DDL-Anweisungen muss das Hauptkonto die Berechtigung „spanner.databases.updateDdl“.

Weitere Informationen finden Sie unter Detaillierte Zugriffssteuerung und Zugriffssteuerung mit IAM.

Nächste Schritte