Sie können den PostgreSQL-Befehlszeilenclient verwenden, um eine Verbindung zu Cloud SQL herzustellen. Auf dieser Seite wird beschrieben, wie Sie einen
psql
-Client mit Ihrer Cloud SQL-Instanz verbinden, und zwar auf einem lokalen Client, auf einer Compute Engine-VM oder in Cloud Shell.
Hinweise
Führen Sie die folgenden Schritte aus, bevor Sie einen psql
-Client verwenden, um eine Verbindung zu Ihrer Cloud SQL-Instanz herzustellen:
-
Erstellen Sie eine Cloud SQL-Instanz, in der der Standardnutzer konfiguriert ist.
Weitere Informationen finden Sie unter Instanzen erstellen und Passwort für das Standardnutzerkonto festlegen.
Optional können Sie eine Compute-Engine-VM-Instanz erstellen und dann über SSH eine Verbindung zur Instanz herstellen.
Weitere Informationen finden Sie unter VM-Instanz erstellen und starten, Informationen zu SSH-Verbindungen oder Verbindung zu Windows-VMs über RDP herstellen.
Legen Sie fest, wie Sie eine Verbindung zur Instanz herstellen möchten.
Informationen zu den Verbindungsoptionen und zu deren Auswahl finden Sie unter Verbindungsoptionen.
PostgreSQL-Client auf einem lokalen Computer oder einer Compute Engine-VM verwenden
Das Herstellen einer Verbindung zu Ihrer Cloud SQL-Instanz mithilfe eines psql
-Clients umfasst drei grundlegende Aufgaben:
- Client installieren
- Zugriff auf Ihre Cloud SQL-Instanz konfigurieren
- Verbindung zur Cloud SQL-Instanz herstellen
Client installieren
So installieren Sie den psql
-Client:
Debian/Ubuntu
Installieren Sie den psql-Client aus dem Paketmanager:
sudo apt-get update sudo apt-get install postgresql-client
CentOS/RHEL
Installieren Sie den psql-Client aus dem Paketmanager:
sudo yum install postgresql
openSUSE
Installieren Sie den psql-Client aus dem Paketmanager:
sudo zypper install postgresql
Andere Plattformen
- Laden Sie die PostgreSQL Core Distribution für Ihre Plattform von der PostgreSQL-Downloadseite herunter.
Der psql-Client ist in der Core Distribution enthalten. - Installieren Sie die PostgreSQL-Datenbank nach den Anweisungen auf der Downloadseite.
Zugriff auf Ihre Cloud SQL-Instanz konfigurieren
So konfigurieren Sie den Zugriff auf Ihre Instanz:
- Rufen Sie auf dem Clientcomputer oder der Compute Engine-VM-Instanz Wie lautet meine IP auf, um die IP-Adresse des Clientcomputers anzuzeigen.
- Kopieren Sie diese IP-Adresse.
-
Trusted Cloud Rufen Sie in der Console die Seite Cloud SQL-Instanzen auf.
- Klicken Sie auf den Instanznamen, um die Seite Übersicht einer Instanz zu öffnen.
- Wählen Sie im SQL-Navigationsmenü die Option Verbindung aus.
- Wählen Sie den Tab Netzwerk aus.
- Klicken Sie im Abschnitt Autorisierte Netzwerke auf Netzwerk hinzufügen und geben Sie die IP-Adresse des Computers an, auf dem der Client installiert ist.
- Klicken Sie auf Fertig und dann am Seitenende auf Speichern, um die Änderungen zu speichern.
- Stellen Sie eine Verbindung zur Instanz entweder über SSL/TLS oder ohne Verschlüsselung (ohne SSL/TLS) her.
Unverschlüsselte Verbindung zu Ihrer Cloud SQL-Instanz herstellen
Damit eine Verbindung ohne Verschlüsselung hergestellt werden kann, muss für die Instanz der SSL-Modus auf ALLOW_UNENCRYPTED_AND_ENCRYPTED
festgelegt sein. In der Trusted Cloud Console lautet die entsprechende Konfiguration Unverschlüsselten Netzwerktraffic zulassen.
Weitere Informationen zur SSL/TLS-Konfiguration Ihrer Instanz finden Sie unter SSL/TLS-Zertifikate konfigurieren.
So stellen Sie eine Verbindung zu Ihrer Instanz her:
- Prüfen Sie, ob der Client installiert und der Zugriff auf Ihre Instanz konfiguriert ist.
- Starten Sie den
psql
-Client:psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
- Geben Sie Ihr Passwort ein.
- Die psql-Eingabeaufforderung wird angezeigt.
SSL/TLS-Verbindung zu Ihrer Cloud SQL-Instanz herstellen
So stellen Sie eine Verbindung zu Ihrer Instanz über SSL/TLS und die integrierte Authentifizierung her:
- Starten Sie den
psql
-Client:psql "sslmode=require \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Beispiel:
psql "sslmode=require \ hostaddr=203.12.34.56 \ user=postgres dbname=postgres"
Es kann außerdem sinnvoll sein, eine Verbindungsdienstdatei zu erstellen, um Ihre Verbindungsparameter zu verwalten, insbesondere wenn Sie zu mehreren Instanzen Verbindungen herstellen. Weitere Informationen finden Sie in der Dokumentation zu PostgreSQL.
- Geben Sie das Passwort ein. Das Passwort ist für Cloud SQL obligatorisch, obwohl PostgreSQL eine passwortfreie Verbindung über SSL/TLS unterstützt.
- Sie können prüfen, ob die Verbindung verschlüsselt ist. Suchen Sie dazu in den Verbindungsinformationen nach dieser Chiffre:
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
SSL/TLS-Verbindung zu Ihrer Cloud SQL-Instanz mit Clientzertifikatprüfung herstellen
Wenn ssl_mode
auf Ihrer Cloud SQL-Instanz für TRUSTED_CLIENT_CERTIFICATE_REQUIRED
konfiguriert ist, müssen Sie bei der Anmeldung auch eine bestätigte Clientidentität angeben.
Für eine Verbindung über SSL/TLS-Zertifikate mit Clientüberprüfung ist Folgendes erforderlich:
- Ein Public-Key-Zertifikat des Clients in einer client-cert.pem-Datei
- Ein privater Clientschlüssel in einer client-key.pem-Datei
Geben Sie außerdem das Serverzertifikat server-ca.pem an, damit der Client die Identität des Servers für die gegenseitige Authentifizierung überprüfen kann.
So starten Sie beispielsweise denpsql
-Client:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \ sslcert=client-cert.pem sslkey=client-key.pem \ hostaddr=INSTANCE_IP_ADDRESS \ user=postgres dbname=DB_NAME"
Wenn Sie kein Clientzertifikat und keinen entsprechenden privaten Schlüssel haben, erstellen Sie ein neues Clientzertifikat.
Client in Cloud Shell verwenden
So stellen Sie eine Verbindung zu einer Cloud SQL-Instanz her (nur öffentliche IP-Adresse):
- Rufen Sie die Trusted Cloud Console auf.
- Klicken Sie in der Symbolleiste rechts auf das Cloud Shell-Symbol
.
Die Cloud Shell-Initialisierung dauert einen Moment.
- Stellen Sie über die Cloud Shell-Eingabeaufforderung mit dem integrierten Client eine Verbindung zur Cloud SQL-Instanz her:
gcloud sql connect INSTANCE_ID \ --user=postgres
- Geben Sie Ihr Passwort ein.
Der Befehl gcloud sql connect
unterstützt keine Verbindung zu einer Cloud SQL-Instanz über private IP-Adressen oder SSL/TLS. Zur Herstellung einer verschlüsselten Verbindung müssen Sie den Proxy in Cloud Shell installieren und verwenden:
- Installieren Sie den Proxy (Linux 64-Bit) im Verzeichnis
/home/USER
. - Starten Sie den Proxy mithilfe der gcloud CLI-Authentifizierung:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME &
- Stellen Sie über die TCP-Verbindung eine Verbindung zur Datenbank her:
psql -U USERNAME --host=127.0.0.1
Nächste Schritte
- Instanz mit einer privaten IP-Adresse konfigurieren
- Optionen für das Verbinden Ihrer Anwendung mit der Instanz
- Funktionsweise des
psql
-Client mit SSL