

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Conexión a bases de datos PostgreSQL con AWS Schema Conversion Tool
<a name="CHAP_Source.PostgreSQL"></a>

Puede utilizarlos AWS SCT para convertir esquemas, objetos de código de bases de datos y código de aplicaciones de PostgreSQL a los siguientes destinos: 
+ Amazon RDS para MySQL
+ Amazon Aurora MySQL-Compatible Edition
+ Amazon RDS para PostgreSQL
+ Edición de Amazon Aurora compatible con PostgreSQL

Para obtener más información, consulte las siguientes secciones:

**Topics**
+ [Privilegios para PostgreSQL como base de datos de origen](#CHAP_Source.PostgreSQL.Permissions)
+ [Conexión a PostgreSQL como origen](#CHAP_Source.PostgreSQL.Connecting)
+ [Privilegios para MySQL como base de datos de destino](#CHAP_Source.PostgreSQL.ConfigureMySQL)

## Privilegios para PostgreSQL como base de datos de origen
<a name="CHAP_Source.PostgreSQL.Permissions"></a>

Los privilegios necesarios para PostgreSQL como origen son los siguientes: 
+ CONÉCTESE A LA BASE *<database\$1name>* 
+ USO EN EL ESQUEMA *<database\$1name>* 
+ SELECCIONE EN TODAS LAS TABLAS DEL ESQUEMA *<database\$1name>* 
+ SELECCIONE TODAS LAS SECUENCIAS DEL ESQUEMA *<database\$1name>* 

## Conexión a PostgreSQL como origen
<a name="CHAP_Source.PostgreSQL.Connecting"></a>

Utilice el siguiente procedimiento para conectarse a su base de datos PostgreSQL de origen con la AWS Schema Conversion Tool. 

**Para conectarse a una base de datos de PostgreSQL de origen**

1. En AWS Schema Conversion Tool, elija **Agregar fuente**. 

1. Elija **PostgreSQL** y, a continuación, elija **Siguiente**.

   Se abrirá el cuadro de diálogo **Agregar origen**.

1. En **Nombre de conexión**, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo. 

1. Utilice las credenciales de la base de datos de AWS Secrets Manager o introdúzcalas manualmente:
   + Para usar las credenciales de base de datos de Secrets Manager, siga las instrucciones siguientes:

     1. En **Secreto de AWS**, elija el nombre del secreto.

     1. Seleccione **Rellenar** para rellenar automáticamente todos los valores del cuadro de diálogo de conexión a la base de datos de Secrets Manager.

     Para obtener información sobre el uso de las credenciales de bases de datos de Secrets Manager, consulte[Configurando AWS Secrets Manager en el AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md).
   + Para introducir manualmente la información de conexión a la base de datos de origen de PostgreSQL, siga las instrucciones siguientes:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/SchemaConversionTool/latest/userguide/CHAP_Source.PostgreSQL.html)

1. Elija **Probar conexión** para comprobar que AWS SCT puede conectarse a la base de datos de origen. 

1. Seleccione **Conectar** para conectarse a su base de datos de origen.

## Privilegios para MySQL como base de datos de destino
<a name="CHAP_Source.PostgreSQL.ConfigureMySQL"></a>

Los privilegios necesarios para MySQL como destino cuando se migra desde PostgreSQL son los siguientes:
+ CREATE ON \$1.\$1
+ ALTER ON \$1.\$1
+ DROP ON \$1.\$1
+ INDEX ON \$1.\$1
+ REFERENCES ON \$1.\$1
+ SELECT ON \$1.\$1
+ CREATE VIEW ON \$1.\$1
+ SHOW VIEW ON \$1.\$1
+ TRIGGER ON \$1.\$1
+ CREATE ROUTINE ON \$1.\$1
+ ALTER ROUTINE ON \$1.\$1
+ EXECUTE ON \$1.\$1
+ INSERTE Y ACTUALICE EN AWS\$1POSTGRESQL \$1EXT. \$1
+ INSERTAR, ACTUALIZAR Y ELIMINAR EN AWS\$1POSTGRESQL \$1EXT\$1DATA. \$1
+ CREA TABLAS TEMPORALES EN AWS\$1POSTGRESQL \$1EXT\$1DATA. \$1

Puede usar el siguiente ejemplo de código para crear un usuario de base de datos y conceder los privilegios.

```
CREATE USER 'user_name' IDENTIFIED BY 'your_password';
GRANT CREATE ON *.* TO 'user_name';
GRANT ALTER ON *.* TO 'user_name';
GRANT DROP ON *.* TO 'user_name';
GRANT INDEX ON *.* TO 'user_name';
GRANT REFERENCES ON *.* TO 'user_name';
GRANT SELECT ON *.* TO 'user_name';
GRANT CREATE VIEW ON *.* TO 'user_name';
GRANT SHOW VIEW ON *.* TO 'user_name';
GRANT TRIGGER ON *.* TO 'user_name';
GRANT CREATE ROUTINE ON *.* TO 'user_name';
GRANT ALTER ROUTINE ON *.* TO 'user_name';
GRANT EXECUTE ON *.* TO 'user_name';
GRANT INSERT, UPDATE ON AWS_POSTGRESQL_EXT.* TO 'user_name';
GRANT INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name';
GRANT CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name';
```

En el ejemplo anterior, *user\$1name* sustitúyalo por el nombre de tu usuario. A continuación, *your\$1password* sustitúyala por una contraseña segura.

Para usar Amazon RDS para MySQL o Aurora MySQL como destino, establezca el parámetro `lower_case_table_names` en `1`. Este valor significa que el servidor MySQL gestiona los identificadores de nombres de objetos como tablas, índices, disparadores y bases de datos sin distinguir entre mayúsculas y minúsculas. Si ha activado el registro binario en la instancia de destino, establezca el parámetro `log_bin_trust_function_creators` en `1`. En este caso, no es necesario utilizar las características `DETERMINISTIC`, `READS SQL DATA` o `NO SQL` para crear funciones almacenadas. Para configurar estos parámetros, cree un grupo de parámetros de base de datos nuevo o modifique uno existente.