

# Conexión a una instancia de base de datos que ejecuta el motor de base de datos de PostgreSQL
<a name="USER_ConnectToPostgreSQLInstance"></a>

Una vez que Amazon RDS aprovisione su instancia de base de datos, puede usar cualquier aplicación cliente de SQL estándar para conectarse a la instancia. Antes de que pueda conectarse, la instancia de base de datos tiene que estar disponible y accesible. Si puede conectarse a la instancia desde fuera de la VPC depende de cómo haya creado la instancia de base de datos de Amazon RDS: 
+ Si creó la instancia de base de datos como *public* (pública), los dispositivos y las instancias de Amazon EC2 fuera de la VPC se pueden conectarse a la base de datos. 
+ Si creó la instancia de base de datos como *private* (privada), solo las instancias y dispositivos de Amazon EC2 dentro de Amazon VPC pueden conectarse a la base de datos. 

Para verificar si la instancia de base de datos es pública o privada, use la Consola de administración de AWS para ver la pestaña **Connectivity & security** (Conectividad y seguridad) de la instancia. En **Security** (Seguridad), puede encontrar el valor “Publicly accessible” (Accesible públicamente), con “No” si es privada, y “Yes” (Sí) si es pública. 

Para obtener más información sobre las distintas configuraciones de Amazon RDS y Amazon VPC y cómo afectan a la accesibilidad, consulte [Escenarios de acceso a una instancia de base de datos en una VPC](USER_VPC.Scenarios.md). 

**Contents**
+ [Instalación del cliente psql](#install-psql)
+ [Búsqueda de información de conexión para una instancia de base de datos RDS para PostgreSQL](#postgresql-endpoint)
+ [Uso de pgAdmin para conectarse a una instancia de base de datos de RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.pgAdmin.md)
+ [Uso de psql para conectarse a una instancia de base de datos de RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.psql.md)
+ [Conexión a RDS para PostgreSQL con el controlador JDBC de Amazon Web Services (AWS)](PostgreSQL.Connecting.JDBCDriver.md)
+ [Conexión a RDS para PostgreSQL con el controlador de Python de Amazon Web Services (AWS)](PostgreSQL.Connecting.PythonDriver.md)
+ [Solución de problemas de conexiones a la instancia de RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.Troubleshooting.md)
  + [Error – FATAL: el *nombre* de la base de datos no existe](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-DBname)
  + [Error – No se pudo conectar al servidor: se ha agotado el tiempo de espera.](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-timeout)
  + [Errores con reglas de acceso de grupos de seguridad](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules)

## Instalación del cliente psql
<a name="install-psql"></a>

Para conectarse a la instancia de base de datos desde una instancia de EC2, puede instalar un cliente PostgreSQL en la instancia de EC2. Para instalar la versión más reciente del cliente psql en Amazon Linux 2023, ejecute el siguiente comando: 

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

Para instalar la versión más reciente del cliente psql en Amazon Linux 2, ejecute el siguiente comando:

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

Para instalar la versión más reciente del cliente psql en Ubuntu, ejecute el siguiente comando:

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

## Búsqueda de información de conexión para una instancia de base de datos RDS para PostgreSQL
<a name="postgresql-endpoint"></a>

Si la instancia de base de datos está disponible y accesible, puede conectarse si proporciona la siguiente información a la aplicación cliente de SQL: 
+ El punto de conexión de la instancia de base de datos, que sirve como nombre de host (nombre DNS) de la instancia.
+ El puerto en el que la instancia de base de datos está a la escucha. Para PostgreSQL, el puerto predeterminado es el 5432. 
+ El nombre de usuario y la contraseña de la instancia de base de datos. El “nombre de usuario maestro” predeterminado para PostgreSQL es `postgres`. 
+ El nombre y contraseña de la base de datos (nombre de base de datos). 

 Para obtener estos detalles puede usar la Consola de administración de AWS, el comando [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) de la AWS CLI o la operación [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) de la API de Amazon RDS. 

**Para buscar el punto de conexión, el número de puerto y el nombre de la base de datos mediante la Consola de administración de AWS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Abra la consola de RDS y, a continuación, elija **Databases (Bases de datos)** para mostrar una lista de las instancias de base de datos. 

1. Seleccione el nombre de la instancia de base de datos de PostgreSQL para mostrar sus detalles. 

1. En la pestaña **Connectivity & security (Conectividad y seguridad)**, copie el punto de enlace. También anote el número de puerto. Necesita el punto de enlace y el número de puerto para conectarse a la instancia de base de datos.   
![\[Obtenga el punto de conexión desde la consola de RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/PostgreSQL-endpoint.png)

1. En la pestaña **Configuration** (Configuración), anote el nombre de la base de datos. Si creó una base de datos al crear la instancia de RDS for PostgreSQL, verá el nombre que aparece en DB name (Nombre de base de datos). Si no ha creado una base de datos, el nombre de la base de datos muestra un guion (‐).  
![\[Obtener el nombre de la base de datos de la consola de RDS\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/PostgreSQL-db-name.png)

A continuación, se muestran dos formas de conectarse a una instancia de base de datos PostgreSQL. En el primer ejemplo, se usa pgAdmin, una conocida herramienta de administración y desarrollo de código abierto para PostgreSQL. En el segundo ejemplo, se usa psql, una utilidad de línea de comandos que forma parte de una instalación de PostgreSQL. 