Mit der PostgreSQL-Oberfläche für Spanner können Sie die vollständig verwaltete, skalierbare und hochverfügbare Spanner-Infrastruktur mit vertrauten PostgreSQL-Tools und ‑Syntax nutzen. Diese Seite wird Ihnen dabei helfen, die Funktionen und Einschränkungen von PostgreSQL .
Vorteile der PostgreSQL-Schnittstelle
- Portabilität: Die PostgreSQL-Oberfläche bietet Zugriff auf die umfassenden Spanner-Funktionen. Dabei werden Schemas, Abfragen und Clients verwendet, die mit Open Source PostgreSQL kompatibel sind. Dieses vereinfacht das Verschieben einer auf Spanner basierenden Anwendung in eine andere PostgreSQL-Umgebung. Diese Portabilität ermöglicht es, Flexibilität und unterstützt Notfallwiederherstellungsszenarien, z. B. beenden.
- Vertrautheit: Wenn Sie PostgreSQL bereits verwenden, können Sie Cloud Spanner mit vielen der gleichen PostgreSQL- Anweisungen und Tools. Wenn Sie PostgreSQL in Ihrem gesamten Datenbankportfolio verwenden, gibt es weniger Unterschiede zwischen bestimmten Produkten und eine gemeinsame Reihe von Best Practices.
- Unbegrenzte Spanner-Funktionen: Da die PostgreSQL-Oberfläche auf der bestehenden Spanner-Plattform basiert, bietet sie alle Verfügbarkeits-, Konsistenz- und Preis-Leistungs-Vorteile von Spanner, ohne dass Sie Kompromisse bei den Funktionen eingehen müssen, die in der ergänzenden GoogleSQL-Umgebung verfügbar sind.
Nicht unterstützte PostgreSQL-Features in Spanner
Es ist wichtig zu verstehen, dass die PostgreSQL-Schnittstelle bietet die Funktionen von Spanner über Schemas, Typen, Abfragen und Clients, die mit PostgreSQL kompatibel sind. Es werden nicht alle Funktionen von PostgreSQL unterstützt. Vorhandene Daten migrieren PostgreSQL-Anwendung auf Spanner übertragen, selbst der PostgreSQL-Schnittstelle für Spanner, die wahrscheinlich überarbeitet werden muss, um nicht unterstützte PostgreSQL-Funktionen oder Verhaltensunterschiede wie für die Abfrageoptimierung oder das Primärschlüsseldesign. Nach der Migration werden jedoch Ihre können Arbeitslasten von der Zuverlässigkeit und einzigartigen für mehrere Modelle nutzen.
Die folgende Liste enthält weitere Informationen zu unterstützten und nicht unterstützten PostgreSQL-Features:
- Unterstützte PostgreSQL-Funktionen: Die PostgreSQL-Schnittstelle unterstützt viele der am häufigsten verwendeten PostgreSQL-Funktionen. Dazu gehören Kernteile des Schemas Typsystem, viele gängige Abfrageformen, eine Vielzahl von Funktionen und Operatoren, und die wichtigsten Aspekte des PostgreSQL-Systemkatalogs. Anwendungen können viele PostgreSQL-Clients verwenden, indem sie über die Spanner-Implementierung des PostgreSQL-Netzwerkprotokolls eine Verbindung herstellen.
- Einige PostgreSQL-Sprachfunktionen werden nicht unterstützt: Erweiterungen, Benutzerdefinierte Datentypen, benutzerdefinierte gespeicherte Prozeduren und andere Funktionen werden nicht unterstützt. Eine vollständige Liste finden Sie unter PostgreSQL-Sprache in Spanner. Es gibt auch einige Features in PostgreSQL, die sich anders verhalten. aus Open-Source-PostgreSQL. Weitere Informationen finden Sie unter Bekannte Probleme in der PostgreSQL-Schnittstelle für Spanner.
- Spanner und Spanner-Steuerungsebene: Datenbanken mit PostgreSQL-Schnittstellen verwenden Spanner und Google Cloud Tools zur Bereitstellung, Sicherung, Überwachung und Optimierung von Instanzen. Spanner unterstützt keine Tools wie pgAdmin für administrative Aktivitäten.
- Unterstützung von Client- und Netzwerkprotokollen: Spanner unterstützt die wichtigsten Abfragefunktionen des PostgreSQL-Netzwerkprotokolls mit PGAdapter, einem schlanken Proxy, der parallel zu Ihrer Anwendung ausgeführt wird. So können viele Spanner-Clients unverändert mit einem Spanner-PostgreSQL-Schnittstellendatenbank, während die globale Endpunkt- und Verbindungsverwaltung von Spanner sowie IAM-Authentifizierung Die internen Benchmarks von Google zeigen, dass PGAdapter im Vergleich zu einer direkten Verbindung zu den integrierten Endpunkten von Spanner keine merkliche zusätzliche Latenz verursacht.
Verwaltung und Management
Die PostgreSQL-Schnittstelle unterstützt die Verwaltung und Verwaltung Ihrer Spanner-Datenbanken mit den folgenden Features:
- Einheitliche Umgebung: PostgreSQL bereitstellen, verwalten und überwachen schnittstellengestützte Datenbanken über die vorhandene Konsole von Spanner, APIs und Tools wie die Google Cloud CLI.
- Flexible Konfiguration: Die PostgreSQL-Oberfläche wird bei der Erstellung pro Datenbank konfiguriert. Eine einzelne Spanner-Instanz kann sowohl Datenbanken der GoogleSQL- und PostgreSQL-Schnittstelle.
- Gemeinsame Vorteile: Beide Datenbankdialekte haben die gleichen zugrunde liegenden eine verteilte Datenbank-Engine, die für konsistente Skalierbarkeit, Einheitlichkeit Leistung und Sicherheit.
Features
Die PostgreSQL-Schnittstelle von Spanner bietet zwei primäre Features, die eine Integration in die PostgreSQL-Umgebung ermöglichen:
Unterstützung von PostgreSQL-Dialekten
Spanner bietet eine Teilmenge der PostgreSQL-SQL- Dialekt, einschließlich Data Query Language (DQL), Data Manipulation Language (DML) und die Datendefinitionssprache (DDL). Darüber hinaus umfasst sie Erweiterungen zur Unterstützung von Spanner-spezifischen Funktionen wie verschränkte Tabellen Gültigkeitsdauer (TTL) und Abfragehinweise
Detaillierte Informationen zur unterstützten PostgreSQL-Sprache siehe Die PostgreSQL-Sprache in Cloud Spanner Informationen zur Verwendung von Spanner-Funktionen mit dem PostgreSQL-Dialekt finden Sie in der Dokumentation der jeweiligen Funktion.
PostgreSQL-Clientunterstützung
Mit Spanner können Sie von einer Vielzahl von Clients aus eine Verbindung zu Datenbanken herstellen:
PostgreSQL-Tools: Sie können die vertrauten Tools wie der PostgreSQL-JDBC-Treiber und den pgx-Treiber für PostgreSQL, um eine Verbindung herzustellen mit einer PostgreSQL-Schnittstellendatenbank verbinden. Eine Liste der unterstützten Treiber, ORMs und Tools finden Sie unter PostgreSQL-Treiber und ORMs.
psql-Befehlszeilentool: das beliebte Interaktive
psql
-Umgebung wird unterstützt, sodass Sie Abfragen ausführen, Metadaten untersuchen und Daten laden können direkt von Ihrem Terminal aus.PGAdapter: Dieser einfache Proxy vereinfacht die Verbindungsverwaltung und Authentifizierung. Weitere Informationen finden Sie in der PGAdapter – Übersicht
Spanner-Clients:Spanner bietet Open-Source-Spanner-Clients für verschiedene Programmierung Sprachen (Java, Go, Python, Node.js, Ruby, PHP, C#, C++) zusammen mit einem Spanner-JDBC-Treiber und einen Treiber für das SQL-Paket von Go. Spanner-Clients stellen ohne Proxy eine direkte Verbindung zum globalen Spanner-Endpunkt her. Sie können jedoch Spanner-Clients bieten keine Kompatibilität mit vorhandenen PostgreSQL-Clients, ORMs oder Tools.
Best Practices für die Verwendung der PostgreSQL-Oberfläche
Beachten Sie bei der Verwendung der PostgreSQL-Schnittstelle die folgenden Best Practices:
- Anwendungen verbinden: Verwenden Sie die unterstützten PostgreSQL-Dienste Tools für effiziente Konnektivität.
Mit Ihrer Datenbank interagieren: Für interaktive Arbeit haben Sie folgende Möglichkeiten:
- Das bekannte psql-Befehlszeilentool (mit dem PGAdapter-Proxy)
- Die intuitive Seite Spanner Studio in der Google Cloud Console
- IDEs wie DBeaver und Visual Studio Code, JetBrains und IntelliJ
- Der Spanner-Emulator, mit dem Sie Spanner auf Ihrem lokalen Computer emulieren können. Das ist während der Entwicklung und des Tests hilfreich.
Nächste Schritte
- Hier erfahren Sie, wie Sie zwischen PostgreSQL und GoogleSQL
- Folgen Sie der Kurzanleitung, um PostgreSQL-Datenbank erstellen und mit ihr interagieren.
- Weitere Informationen zur PostgreSQL-Sprache von Spanner Support.
- Informationen zu PGAdapter
- Weitere Informationen zum GitHub-Repository von PGAdapter
- Sehen Sie sich bekannte Probleme in der PostgreSQL-Oberfläche an.