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.
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
- PGAdapter starten
- Weitere Informationen zum GitHub-Repository von PGAdapter
- Weitere Informationen zu PostgreSQL-Treibern und ORMs mit einer Tabelle der von PGAdapter unterstützten PostgreSQL-Treiber und ORMs