Sie können sowohl den PostgreSQL-JDBC-Treiber als auch den Spanner-JDBC-Treiber mit einer Spanner-PostgreSQL-Dialektdatenbank verwenden. Auf dieser Seite wird erläutert, wie Sie mit einem dieser Treiber eine Verbindung zu Ihrer Datenbank herstellen.
PostgreSQL-JDBC-Treiber
In diesem Abschnitt wird erläutert, wie Sie den PostgreSQL-JDBC-Treiber mit einer PostgreSQL-Dialekt-Datenbank in Spanner verbinden. JDBC ist der Java-Standardtreiber für PostgreSQL.
Wenn Sie den PostgreSQL JDBC-Treiber verwenden, muss für die Übersetzung zwischen dem PostgreSQL-Netzwerkprotokoll und dem Spanner-Netzwerkprotokoll PGAdapter verwendet werden. Sie können PGAdapter als Abhängigkeit hinzufügen und parallel mit Ihrer Anwendung ausführen.
1. Fügen Sie PGAdapter und den PostgreSQL-JDBC-Treiber als Abhängigkeiten in Ihre Anwendung ein. 2. Starten Sie den PGAdapter parallel mit Ihrer Anwendung.OptionsMetadata.Builder builder = OptionsMetadata.newBuilder() .setProject("my-project") .setInstance("my-instance") // Set the port to 0 to use a dynamically assigned port. .setPort(5432); ProxyServer server = new ProxyServer(builder.build()); server.startServer(); server.awaitRunning();3. Geben Sie im JDBC-Verbindungsstring
localhost
und 5432
als Datenbankserverhost und Port an.
// Make sure the PG JDBC driver is loaded. Class.forName("org.postgresql.Driver"); // Replace localhost and 5432 with the host and port number where PGAdapter is running. try (Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/my-database")) { try (ResultSet resultSet = connection.createStatement().executeQuery("select 'Hello world!' as hello")) { while (resultSet.next()) { System.out.printf( "Greeting from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
Das GitHub-Repository für PGAdapter enthält eine funktionierende Beispielanwendung.
Spanner-JDBC-Treiber
In diesem Abschnitt wird erläutert, wie Sie mit dem Spanner-JDBC-Treiber eine Verbindung zu einer PostgreSQL-Dialekt-Datenbankdatenbank herstellen.
1. Fügen Sie der Anwendung den Spanner-JDBC-Treiber als Abhängigkeit hinzu. 2. Verwenden Sie eine Spanner-JDBC-Verbindungs-URL, um eine Verbindung zur PostgreSQL-Dialekt-Datenbank herzustellen.try (Connection connection = DriverManager.getConnection( "jdbc:cloudspanner:/projects/my-project/instances/my-instance/databases/my-database")) { try (ResultSet resultSet = connection.createStatement().executeQuery("select 'Hello world!' as hello")) { while (resultSet.next()) { System.out.printf( "Greeting from Cloud Spanner PostgreSQL: %s\n", resultSet.getString(1)); } } }
Der Treiber erkennt automatisch den SQL-Dialekt der angegebenen Datenbank. Ein Dialektparameter in der Verbindungs-URL ist nicht erforderlich.
Nächste Schritte
- Weitere Informationen zu PGAdapter.
- Weitere Informationen zu den Verbindungsoptionen für PostgreSQL-JDBC-Treiber finden Sie unter PGAdapter – JDBC-Verbindungsoptionen im GitHub-Repository von PGAdapter.