Utilizar PostgreSQL como origen para AWS SCT - AWS Schema Conversion Tool

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.

Utilizar PostgreSQL como origen para AWS SCT

Puede usar AWS SCT para convertir esquemas, objetos de código de bases de datos y código de aplicación de PostgreSQL a los siguientes destinos:

  • Amazon RDS para MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS para PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

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

Privilegios para PostgreSQL como base de datos de origen

Los privilegios necesarios para PostgreSQL como origen son los siguientes:

  • CONNECT ON DATABASE <database_name>

  • USAGE ON SCHEMA <database_name>

  • SELECT ON ALL TABLES IN SCHEMA <database_name>

  • SELECT ON ALL SEQUENCES IN SCHEMA <database_name>

Conectar a PostgreSQL como origen

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, seleccione Agregar origen.

  2. Elija PostgreSQL y, a continuación, elija Siguiente.

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

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

  4. 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, lleve a cabo las siguientes instruccioness:

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

      2. 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, consulteUtilizar AWS Secrets Manager.

    • Para introducir manualmente la información de conexión a la base de datos de origen de PostgreSQL, siga las instrucciones siguientes:

      Parámetro Acción
      Server name

      Escriba el nombre del sistema de nombres de dominio (DNS) o la dirección IP del servidor de base de datos de origen.

      Puede conectarse a la base de datos de PostgreSQL de origen a través de un protocolo de direcciones IPv6. Para ello, utilice corchetes para escribir la dirección IP, tal y como se muestra en el siguiente ejemplo.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Server port

      Escriba el puerto utilizado para conectarse al servidor de base de datos de origen.

      Base de datos

      Escriba el nombre de la base de datos de PostgreSQL.

      User name y Password

      Introduzca las credenciales de la base de datos para conectarse al servidor de base de datos de origen.

      AWS SCT utiliza la contraseña para conectarse a la base de datos de origen solo cuando decide conectarse a la base de datos en un proyecto. Para evitar que la contraseña de su base de datos de origen quede expuesta, AWS SCT no la almacena por defecto. Si cierra su proyecto de la AWS SCT y vuelve a abrirlo, se le solicitará la contraseña para conectarse a su base de datos de origen, según sea necesario.

      Use SSL

      Seleccione esta opción para utilizar capa de sockets seguros (SSL) para conectarse a su base de datos. Proporcione la siguiente información adicional, según proceda, en la pestaña SSL:

      • Verify Server Certificate: seleccione esta opción para verificar el certificado del servidor mediante un almacén de confianza.

      • Trust Store: la ubicación de un almacén de confianza que contenga certificados. Para que esta ubicación aparezca en la sección Configuración global, asegúrese de añadirla.

      Store Password

      La AWS SCT crea un almacén seguro para almacenar certificados SSL y contraseñas de la base de datos. Puede habilitar esta opción para almacenar la contraseña de la base de datos y conectarse rápidamente a la base de datos sin necesidad de introducir la contraseña.

      PostgreSQL Driver Path

      Escriba la ruta al controlador que va a usar para conectarse a la base de datos de origen. Para obtener más información, consulte Descarga de los controladores de base de datos necesarios.

      Si almacena la ruta al controlador en la configuración global del proyecto, la ruta del controlador no aparecerá en el cuadro de diálogo de conexión. Para obtener más información, consulte Almacenamiento de rutas a los controladores en la configuración global.

  5. Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.

  6. Seleccione Conectar para conectarse a su base de datos de origen.

Privilegios para MySQL como base de datos de destino

Los privilegios necesarios para MySQL como destino se enumeran a continuación:

  • CREATE ON *.*

  • ALTER ON *.*

  • DROP ON *.*

  • INDEX ON *.*

  • REFERENCES ON *.*

  • SELECT ON *.*

  • CREATE VIEW ON *.*

  • SHOW VIEW ON *.*

  • TRIGGER ON *.*

  • CREATE ROUTINE ON *.*

  • ALTER ROUTINE ON *.*

  • EXECUTE ON *.*

  • INSERT, UPDATE ON AWS_POSTGRESQL_EXT.*

  • INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.*

  • CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.*

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, sustituya user_name por el nombre del usuario. Por último, sustituya your_password 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.