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, also eine kleine Anwendung, die parallel zur Hauptanwendung ausgeführt wird, um die Kommunikation zwischen der PostgreSQL-Schnittstelle für Spanner und Spanner zu unterstützen. Bei Java-Anwendungen können Sie sogar PGAdapter mit der Anwendung verknüpfen. ohne einen separaten Prozess ausführen zu müssen. PGAdapter ist für die Ausführung auf demselben Computer wie die Anwendung konzipiert und stellt einen Endpunkt auf localhost bereit, der das PostgreSQL-Netzwerkprotokoll unterstützt. Es das PostgreSQL-Wire-Protokoll in den Spanner-Draht übersetzt. Protokoll, gRPC. Wenn dieser Proxy lokal ausgeführt wird, kann ein PostgreSQL-Client wie psql kann eine Verbindung zu einem PostgreSQL-Dialekt von Spanner herstellen Datenbank.

PGAdapter erhöht die Latenz um maximal 0,2 ms. Die Die PostgreSQL-Schnittstelle hat die gleichen Latenzstufen wie GoogleSQL.

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

psql stellt über PGAdapter eine Verbindung zu Spanner her

PGAdapter unterstützt einfache und erweiterte Abfragemodi und jeden Datentyp, den die PostgreSQL-Schnittstelle für Spanner unterstützt.

PGAdapter-Ausführungsumgebungen

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

  • Eigenständig: PGAdapter wird als JAR-Datei bereitgestellt und ausgeführt in der JVM eigenständig funktionieren.
  • Docker PGAdapter ist auch in ein Docker-Image gepackt.
  • Cloud Run: PGAdapter kann als Sidecar-Proxy in Cloud Run bereitgestellt werden.
  • Sidecar-Proxy: Eine typische Verwendung als Sidecar-Proxy erfolgt in einer Kubernetes-Umgebung. Cluster.
  • In-Process: 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 ermittelt das Dienstkonto oder andere Identity and Access Management (IAM)-Hauptkonto, das für die Verbindung verwendet werden soll, indem Sie das Anmeldedaten, die Sie beim Start 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. Dafür ist die IAM-Berechtigung erforderlich spanner.databases.useRoleBasedAccess und für andere Datenbankrollen als public, die Berechtigung spanner.databaseRoles.use. 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, Berechtigungen, die dem IAM Principals verwendet werden. Um DDL-Anweisungen ausführen zu können, muss das Hauptkonto die Berechtigung spanner.databases.updateDdl haben.

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

Nächste Schritte