Snowflake Postgresへの接続¶
Snowflake Postgresインスタンスを作成すると、``psql``またはDBeaverのような任意のPostgreSQLクライアントで接続できます。接続を確立するには、以下の情報を使用してクライアントを構成します。
インスタンスの ホスト名 。これは仮想マシンホストの URL です。
ユーザー名 。インスタンスを作成すると、``snowflake_admin``ユーザーがデフォルトで作成され、管理アクセス用に設計されます。
接続先の**Postgresデータベース**。このパラメーターは、Postgres接続を作成するために必要です。デフォルトのデータベースの名前は``postgres``です。
ユーザーの パスワード 。
``psql``コマンドラインクライアントで使用されるこれらの接続の詳細の例を次に示します。
$ psql -h abcefg.snowflake.app -U snowflake_admin -d postgres
(``psql``はパスワードの入力を求めます)
ポートを指定する必要がある場合は、5432を使用します。
$ psql -h abcefg.snowflake.app -U snowflake_admin -p 5432 -d postgres
重要
Snowflake Postgresインスタンスに接続するにはSSLが必要です
接続文字列について¶
Snowsightを介してPostgresインスタンスを作成する場合、Snowflake Postgresは libpq URI 形式 内の接続文字列を提供し、 psql 経由で直接接続、またはアプリケーション構成への入力に使用します。
注釈
特定のロールのアクセスを明示的にリセットしない限り、クラスターの接続文字列はクラスター管理操作全体で同じままです。
データベース URL としての接続文字列には次のパラメーターが含まれます。
プロトコル:
postgres://ユーザー名:詳細については、 Snowflake Postgresのロール をご参照ください。
password
hostname
ポート:5432
database_name:デフォルトは``postgres``
これらは、この形式の URI 接続文字列の構築に使用されます。
postgresql://<username>:<password>@hostname:<port>/<database_name>
クライアント環境がSSL接続を強制するように構成されていない場合、URIに:codenowrap:`?sslmode=require`を追加できます。
postgresql://<username>:<password>@hostname:<port>/<database_name>?sslmode=require
`sslmode<https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE>`_パラメーターは、使用するSSL暗号化および証明書検証の異なるレベルを示すさまざまな値を受け入れます。``sslmode=require``は、SSL暗号化を強制するために必要な最低レベルです。Snowflake Postgresサーバー証明書のSSL証明書検証を実行するようにクライアントを構成する方法については、:doc:`postgres-ssl-certs`をご参照ください。
上記で``sslmode``を指定したのと同じ方法で、接続URI内に他のいくつかのクライアント接続パラメーターを指定できます。完全なリストについては、PostgreSQLドキュメントの`URI接続パラメーターのリスト<https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS>`_を参照してください。
これらのパラメーターの多くは、libpqによって認識される環境変数<https://www.postgresql.org/docs/current/libpq-envars.html>`_を介して設定することもできます。たとえば、以下のように設定することで、`psql`の接続が常に:codenowrap:?sslmode=require`を指定した状態で行われるようになります。
export PGSSLMODE=require
psql -h {hostname} -U {username} {dbname}
環境変数を介したクライアント接続パラメーターの設定は、必要な接続パラメーターの設定オプションを他に提供していないアプリケーションフレームワークの接続を構成する場合に便利です。
注釈
``libpq``ベースではないデータベースドライバーを使用するアプリケーションについては、クライアント構成パラメーターのオプションや仕様フォーマットについて、それらのドライバーのドキュメントを参照してください。たとえば、`PostgreSQLのJDBCドライバー<https://jdbc.postgresql.org/documentation/use/>`_は、``libpq``が提供するものと同等のパラメーターを数多く提供していますが、URIsでの指定方法がわずかに異なります。