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 Sie läuft auf demselben Maschine als Anwendung und stellt einen Endpunkt auf localhost bereit, der den das PostgreSQL-Wire-Protokoll. 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 über PGAdapter eine Verbindung zu Spanner 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 geliefert und wird in der JVM eigenständig funktionieren.
  • Docker PGAdapter ist auch in ein Docker-Image gepackt.
  • Cloud Run. PGAdapter kann als Sidecar-Proxy bereitgestellt werden in Cloud Run.
  • Sidecar-Proxy Eine typische Verwendung als Sidecar-Proxy wird in einer Kubernetes-Umgebung 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 Starten Sie PGAdapter.

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. Das IAM Berechtigungen, die diesem Hauptkonto gewährt wurden, bestimmen die Berechtigungen, die das eine Verbindung zur Datenbank in der Datenbank hat.

Wenn eine detaillierte Zugriffssteuerung verwendet wird, können Sie optional einen wenn Sie PGAdapter starten. Wenn Sie eine Datenbankrolle angeben, verwendet PGAdapter eine differenzierte Zugriffssteuerung, wenn er Anfragen für Abfragen sendet. und DML-Anweisungen. 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, ausführen können. Wenn Sie keine Datenbankrolle angeben, Berechtigungen, die dem IAM Principals verwendet werden. Zum Ausführen von DDL-Anweisungen muss das Hauptkonto die Berechtigung „spanner.databases.updateDdl“.

Weitere Informationen finden Sie unter Über die detaillierte Zugriffssteuerung und Zugriffssteuerung mit IAM

Nächste Schritte