メニュー
Amazon Redshift
管理ガイド (API Version 2012年12月1日)

psql ツールを使用してクラスターに接続する

Amazon Redshift クラスターを作成したら、psql (PostgreSQL のターミナル型フロントエンド) を使ってクラスターのデータにクエリを発行することができます。クエリはインタラクティブに入力することも、ファイルから読み取ることもできます。psql から接続するには、クラスターのエンドポイント、データベース、ポートを指定する必要があります。

注記

psql ツールは、Amazon Redshift から提供されるのではなく PostgreSQL とともにインストールされます。psql の使用については、http://www.postgresql.org/docs/8.4/static/app-psql.html を参照してください。PostgreSQL クライアントツールのインストール方法については、「http://www.postgresql.org/download/」の PostgreSQL バイナリダウンロードページから、該当するオペレーティングシステムを選択します。

psql のデフォルト設定を使用して接続する

デフォルトでは、psql は Amazon Redshift サービスを検証せず、Secure Sockets Layer (SSL) を使用して暗号化された接続を作成します。

psql のデフォルト設定を使用して接続するには

  1. AWS マネジメントコンソールにサインインし、Amazon Redshift コンソール(https://console.aws.amazon.com/redshift/)を開きます。

  2. 左のナビゲーションペインの [Clusters] をクリックします。これを開くにはクラスターをクリックします。[Cluster Database Properties] で、[Endpoint]、[Port]、[Database Name] の値を書き留めます。

  3. コマンドプロンプトで、コマンドラインパラメータか接続情報文字列を使用して接続情報を指定します。パラメータを使用するには次のように行います。

    Copy
    psql -h <endpoint> -U <userid> -d <databasename> -p <port>

    各パラメーターの意味は次のとおりです。

    • <endpoint> は前のステップで書き留めた [Endpoint] です。

    • <userid> はクラスターに接続するアクセス権限があるユーザー ID です。

    • <databasename> は前のステップで書き留めた [Database Name] です。

    • <port> は前のステップで書き留めた [Port] です。

    (例:

    Copy
    psql -h examplecluster.<XXXXXXXXXXXX>.us-west-2.redshift.amazonaws.com -U masteruser -d dev -p 5439
  4. psql パスワードプロンプトで、<userid> ユーザーのパスワードを入力します。

これでクラスターに接続されるので、コマンドをインタラクティブに入力できます。

証明書を使って接続する

psql で証明書を使ってサービスを認証するかどうかを制御するには、接続情報文字列を使って接続情報を指定し、sslmode キーワードを指定する必要があります。デフォルトでは、psql は sslmode=prefer で動作しています。psql で暗号化接続を開き、Amazon Redshift 証明書を使用してサービスを検証するよう指定するには、Amazon Redshift 証明書をコンピュータにダウンロードします。DNS エイリアスを使用する場合を除き、[verify-full] を指定します。DNS エイリアスを使用する場合は、[verify-ca] を選択します。sslrootcert を証明書の位置に指定します。sslmode の詳細については、「接続のセキュリティオプションを設定する」を参照してください。

接続情報文字列のパラメータの詳細については、http://www.postgresql.org/docs/8.4/static/libpq-connect.html を参照してください。

証明書を使って接続するには

  1. ダウンロードした「Redshift の認証機関バンドル」の .crt ファイルをコンピュータに保存します。Internet Explorer で File\Save as を行う場合、ファイル形式を [Text file (*.txt)] に指定し、.txt 拡張子を削除します。たとえば、これをファイル C:\MyDownloads\redshift-ca-bundle.crt として保存します。

  2. Amazon Redshift コンソールで、クラスターを選択して [Cluster Database Properties] を表示します。[Endpoint]、[Port]、[Database Name] のフィールドに表示された値を書き留めます。

  3. コマンドプロンプトで、接続情報文字列を使って接続情報を指定します。

    Copy
    psql "host=<endpoint> user=<userid> dbname=<databasename> port=<port> sslmode=verify-ca sslrootcert=<certificate>"

    各パラメーターの意味は次のとおりです。

    • <endpoint> は前のステップで書き留めた [Endpoint] です。

    • <userid> はクラスターに接続するアクセス権限があるユーザー ID です。

    • <databasename> は前のステップで書き留めた [Database Name] です。

    • <port> は前のステップで書き留めた [Port] です。

    • <certificate> は証明書ファイルへのフルパスです。Windows システムの場合、証明書のパスは Linux 形式の区切り文字 (/) で指定する必要があります。Windows の区切り文字 (\) は使用しないでください。

      Linux および Mac OS X オペレーティングシステムでは、パスは

      Copy
      ~/.postgresql/root.crt

      Microsoft Windows では、パスは

      Copy
      %APPDATA%/postgresql/root.crt

    (例:

    Copy
    psql "host=examplecluster.<XXXXXXXXXXXX>.us-west-2.redshift.amazonaws.com user=masteruser dbname=dev port=5439 sslmode=verify-ca sslrootcert=C:/MyDownloads/redshift-ca-bundle.crt"
  4. psql パスワードプロンプトで、<userid> ユーザーのパスワードを入力します。

これでクラスターに接続されるので、コマンドをインタラクティブに入力できます。