

# PostgreSQL データベースエンジンを実行する DB インスタンスへの接続
<a name="USER_ConnectToPostgreSQLInstance"></a>

Amazon RDS によって DB インスタンスがプロビジョニングされると、スタンダードの SQL クライアントアプリケーションを使用してインスタンスに接続できます。接続する前に、DB インスタンスが使用可能でアクセス可能である必要があります。VPC の外部からインスタンスに接続できるかどうかは、Amazon RDS DB インスタンスの作成方法によって異なります。
+ DB インスタンスを*公開*で作成した場合、VPC 外部のデバイスと Amazon EC2 インスタンスからデータベースに接続できます。
+ DB インスタンスを*プライベート*で作成した場合、Amazon VPC 内の Amazon EC2 インスタンスとデバイスのみがデータベースに接続できます。

DB インスタンスがパブリックかプライベートかを確認するには、AWS マネジメントコンソール を使用してインスタンスの **[Connectivity & security]** (接続とセキュリティ) タブを確認します。**[Security]** (セキュリティ) では、「パブリックアクセス可能」の値を見つけることができます。プライベートの場合は [No] (いいえ)、パブリックの場合は [Yes] (はい) です。

Amazon RDS および Amazon VPC のさまざまな設定、およびそれらがアクセシビリティに与える影響の詳細については、「[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md)」を参照してください。

**Contents**
+ [psql クライアントをインストールする](#install-psql)
+ [RDS for PostgreSQL DB インスタンスの接続情報の検索](#postgresql-endpoint)
+ [pgAdmin を使用して RDS PostgreSQL DB インスタンスに接続する](USER_ConnectToPostgreSQLInstance.pgAdmin.md)
+ [psql を使用したRDS for PostgreSQL DB インスタンスへの接続](USER_ConnectToPostgreSQLInstance.psql.md)
+ [Amazon Web Services (AWS) JDBC ドライバーを使用した RDS for PostgreSQL への接続](PostgreSQL.Connecting.JDBCDriver.md)
+ [Amazon Web Services (AWS) Python ドライバーを使用した RDS for PostgreSQL への接続](PostgreSQL.Connecting.PythonDriver.md)
+ [RDS for PostgreSQL インスタンスへの接続に関するトラブルシューティング](USER_ConnectToPostgreSQLInstance.Troubleshooting.md)
  + [– 致命的エラー: データベース{{名}}が存在しません。](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-DBname)
  + [- サーバー接続失敗エラー: 接続がタイムアウトしました。](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-timeout)
  + [セキュリティグループのアクセスルールのエラー](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules)

## psql クライアントをインストールする
<a name="install-psql"></a>

EC2 インスタンスから DB インスタンスに接続するには、EC2 インスタンスに PostgreSQL クライアントをインストールします。最新バージョンの psql クライアントを Amazon Linux 2023 にインストールするには、次のコマンドを実行します。

```
sudo dnf install postgresql{{<version number>}}
```

最新バージョンの psql クライアントを Amazon Linux 2 にインストールするには、次のコマンドを実行します。

```
sudo yum install -y postgresql
```

最新バージョンの psql クライアントを Ubuntu にインストールするには、次のコマンドを実行します。

```
sudo apt install -y postgresql-client
```

## RDS for PostgreSQL DB インスタンスの接続情報の検索
<a name="postgresql-endpoint"></a>

DB インスタンスが利用可能でアクセス可能な場合は、SQL クライアントアプリケーションに次の情報を提供することによって接続できます。
+ DB インスタンスのエンドポイントで、インスタンスのホスト名 (DNS 名)として機能します。
+ DB インスタンスがリッスンするポート。PostgreSQL のデフォルトポートは 5432 です。
+ DB インスタンスのユーザーネームとパスワード。PostgreSQL のデフォルトの「マスターユーザーネーム」は`postgres`です。
+ データベースの名前とパスワード (DB 名)です。

 これらの詳細は、AWS マネジメントコンソール、AWS CLI[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)コマンド、またはAmazon RDS API [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html)オペレーションを使用して取得できます。

**エンドポイント、ポート番号、および DB 名を検索するにはAWS マネジメントコンソールを使用します。**

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

1. RDS コンソールを開き、[**データベース**] を選択して、DB インスタンスを一覧表示します。

1. PstgreSQL DB インスタンス名を選択して、詳細を表示します。

1. **接続とセキュリティ** タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。  
![RDS コンソールからエンドポイントを取得する](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/PostgreSQL-endpoint.png)

1. **設定**タブで、DB 名をメモします。RDS for PostgreSQL インスタンスの作成時にデータベースを作成した場合は、DB 名に名前が表示されます。データベースを作成しなかった場合、DB 名にダッシュ (‐) が表示されます。  
![RDS コンソールから DB 名を取得する](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/PostgreSQL-db-name.png)

以下に、PostgreSQL DB インスタンスに接続する 2 つの方法を示します。初期の例では、オープンソースの PostgreSQL 向け管理開発ツールとして人気のある pgAdmin を使用します。2 番目の例では、PostgreSQL に付属するコマンドラインユーティリティである psql を使用します。