Verbinden mit Snowflake Postgres

Sobald Sie eine Snowflake Postgres-Instanz erstellt haben, können Sie sich mit jedem PostgreSQL-Client damit verbinden, z. B. psql oder DBeaver. Um eine Verbindung herzustellen, konfigurieren Sie Ihren Client mit Folgendem:

  • Hostname der Instanz. Dies ist die URL des Hosts der virtuellen Maschine.

  • Ein Benutzername. Wenn Sie eine Instanz erstellen, wird der Benutzer snowflake_admin standardmäßig erstellt und ist für den Administratorzugriff vorgesehen.

  • Postgres-Datenbank, mit der Sie eine Verbindung herstellen möchten. Dieser Parameter ist erforderlich, um Postgres-Verbindungen zu erstellen. Die Standarddatenbank heißt postgres.

  • Ein Kennwort für Ihren -Benutzer.

Hier ist ein Beispiel für diese Verbindungsdetails, die mit dem psql-Befehlszeilenclient verwendet werden:

$ psql -h abcefg.snowflake.app  -U snowflake_admin -d postgres
Copy

(psql fordert Sie zur Eingabe eines Kennworts auf)

Wenn Sie einen Port angeben müssen, verwenden Sie 5432:

$ psql -h abcefg.snowflake.app  -U snowflake_admin -p 5432 -d postgres
Copy

Wichtig

SSL ist erforderlich, um eine Verbindung zu Snowflake Postgres-Instanzen herzustellen.

Allgemeine Informationen zu Verbindungszeichenfolgen

Beim Erstellen einer Postgres-Instanz über Snowsight stellt Snowflake Postgres eine Verbindungszeichenfolge im libpq URI-Format bereit, um eine direkte Verbindung über psql herzustellen oder um sie in Ihre Anwendungskonfiguration einzugeben.

Bemerkung

Die Verbindungszeichenfolge eines Clusters bleibt über alle Clusterverwaltungsvorgänge hinweg gleich, es sei denn, Sie setzen den Zugriff für eine bestimmte Rolle explizit zurück.

Die Verbindungszeichenfolge als Datenbank-URL enthält die folgenden Parameter:

  • Protokoll: postgres://

  • Benutzername: Weitere Informationen dazu finden Sie unter Snowflake Postgres-Rollen.

  • password

  • Hostname

  • Port: 5432

  • database_name: Die Standardeinstellung ist postgres.

Diese werden dann verwendet, um eine URI-Verbindungszeichenfolge mit diesem Format zu erstellen:

postgresql://<username>:<password>@hostname:<port>/<database_name>
Copy

Wenn Ihre Clientumgebung nicht anderweitig für die Verwendung von SSL-Verbindungen konfiguriert ist, können Sie ?sslmode=require an den URI anfügen:

postgresql://<username>:<password>@hostname:<port>/<database_name>?sslmode=require
Copy

Der Parameter sslmode <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE>`_akzeptiert verschiedene Werte, die verschiedene Ebenen der SSL-Verschlüsselung und die zu verwendende Zertifikatsverifizierung angeben. ``sslmode=require` ist die Mindestebene, die zur Durchsetzung der SSL-Verschlüsselung erforderlich ist. Informationen zum Konfigurieren Ihres Clients für die Ausführung der SSL-Zertifikatsprüfung Ihrer Snowflake Postgres-Serverzertifikate finden Sie unter:doc:postgres-ssl-certs.

Sie können mehrere andere Client-Verbindungsparameter in einem Verbindungs-URI auf die gleiche Weise wie``sslmode`` oben angeben. Eine vollständige Liste finden Sie in der Dokumentation zu PostgreSQL unter der Liste von URI-Verbindungsparametern.

Sie können viele dieser Parameter auch über `Umgebungsvariablen festlegen, die von libpq erkannt werden<https://www.postgresql.org/docs/current/libpq-envars.html>`_. Folgendes stellt beispielsweise sicher, dass die`psql`-Verbindung hergestellt wird, indem ?sslmode=require festgelegt wird:

export PGSSLMODE=require
psql -h {hostname} -U {username} {dbname}
Copy

Das Festlegen von Parametern für die Clientverbindung über Umgebungsvariablen ist nützlich, wenn Sie Verbindungen für Anwendungsframeworks konfigurieren, die ansonsten keine Konfigurationsoptionen für benötigte Verbindungsparameter bereitstellen.

Bemerkung

Für Anwendungen, die Nicht-libpq-basierte Datenbanktreiber verwenden, finden Sie in der Dokumentation zu diesen anderen Treibern Informationen zu deren Parameteroptionen für die Clientkonfiguration und das Spezifikationsformat. Beispiel: Der PostgreSQL JDBC-Treiber stellt zahlreiche Parameter bereit, die denen entsprechen, die libpq bereitstellt, wobei ihre Spezifikation in URIs leicht abweicht.