Conexión a bases de datos de PostgreSQL con AWS Schema Conversion Tool
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
Edición de Amazon Aurora compatible con PostgreSQL
Para obtener más información, consulte las siguientes secciones:
Temas
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>
Conexión 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
-
En AWS Schema Conversion Tool, seleccione Agregar origen.
-
Elija PostgreSQL y, a continuación, elija Siguiente.
Se abrirá el cuadro de diálogo Agregar origen.
-
En Nombre de conexión, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo.
-
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:
-
En Secreto de AWS, elija el nombre del secreto.
-
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, consulteConfiguración de AWS Secrets Manager en AWS Schema Conversion Tool.
-
-
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 Nombre del servidor 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]
Puerto del servidor 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.
Nombre de usuario y Contraseña 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 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.
Usar 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:
-
Verificar certificado de servidor: seleccione esta opción para verificar el certificado del servidor mediante un almacén de confianza.
-
Almacén de confianza: 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.
Almacenar contraseña 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.
Ruta al controlador de PostgreSQL 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 Instalación de controladores JDBC para AWS Schema Conversion Tool.
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.
-
-
-
Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.
-
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 cuando se migra desde PostgreSQL son los siguientes:
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.