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.
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
- PGAdapter starten
- Weitere Informationen zum GitHub-Repository für PGAdapter
- Weitere Informationen zu PostgreSQL-Treibern und ORMs für eine Tabelle mit PostgreSQL-Treibern und ORMs, die PGAdapter unterstützt.