Carga de datos desde un clúster de base de datos de Aurora PostgreSQL o una instancia de base de datos de RDS para PostgreSQL
Tras completar la configuración de los recursos y la autenticación, conecte con el punto de conexión del clúster y llame al procedimiento rds_aurora.limitless_data_load_start
almacenado desde una base de datos ilimitada, como postgres_limitless
. La base de datos ilimitada es una base de datos del grupo de particiones de base de datos a la que desea migrar los datos.
Esta función se conecta de forma asíncrona en segundo plano a la base de datos de origen especificada en el comando, lee los datos del origen y los carga en las particiones. Para lograr un mejor rendimiento, los datos se cargan mediante subprocesos paralelos. La función recupera una instantánea de tabla en un momento dado mediante la ejecución de un comando SELECT
para leer los datos de las tablas proporcionadas en el comando.
Puede cargar datos en tablas estándar, particionadas y de referencia.
Puede cargar datos en el nivel de base de datos, esquema o tabla en las llamadas a rds_aurora.limitless_data_load_start
.
-
Base de datos: puede cargar una base de datos a la vez en cada llamada, sin límite en el recuento de esquemas o tablas dentro de la base de datos.
-
Esquema: puede cargar un máximo de quince esquemas en cada llamada, sin límite en el número de tablas dentro de cada esquema.
-
Tabla: puede cargar un máximo de quince tablas en cada llamada.
nota
Esta característica no utiliza instantáneas de Amazon RDS ni aísla la base de datos en un momento dado. Para mantener la coherencia entre las tablas, recomendamos clonar la base de datos de origen y dirigirla hacia esa base de datos clonada como origen.
El procedimiento almacenado tiene la siguiente sintaxis:
CALL rds_aurora.limitless_data_load_start('
source_type
', 'source_DB_cluster_or_instance_ID
', 'source_database_name
', 'streaming_mode'
, 'data_loading_IAM_role_arn
', 'source_DB_secret_arn
', 'destination_DB_secret_arn
', 'ignore_primary_key_conflict_boolean_flag
', 'is_dry_run
', (optional parameter) schemas/tables => ARRAY['name1
', 'name2
', ...]);
Los parámetros de entrada son los siguientes:
-
source_type
: es el tipo de origenaurora_postgresql
ords_postgresql
. -
source_DB_cluster_or_instance_ID
: es el identificador de clúster de Base de datos ilimitada de Aurora PostgreSQL de origen o el identificador de instancia de base de datos de RDS para PostgreSQL. -
source_database_name
: es el nombre de la base de datos de origen, comopostgres
. -
streaming_mode
: indica si se debe incluir la captura de datos de cambios (CDC)full_load
ofull_load_and_cdc
. -
data_loading_IAM_role_arn
: es el nombre de recurso de Amazon (ARN) del rol de IAM paraaurora-data-loader
. -
source_DB_secret_arn
: es el ARN secreto de la base de datos de origen. -
destination_DB_secret_arn
: es el ARN secreto de la base de datos de destino. -
ignore_primary_key_conflict_boolean_flag
: indica si se debe continuar si surge un conflicto con la clave principal.-
Si se establece en
true
, la carga de datos ignora los nuevos cambios en las filas con un conflicto de clave principal. -
Si se establece en
false
, la carga de datos sobrescribe las filas existentes en las tablas de destino cuando se produce un conflicto de clave principal.
-
-
is_dry_run
: indica si se debe comprobar si el trabajo de carga de datos se puede conectar a las bases de datos de origen y destino.-
Si se establece en
true
, prueba las conexiones sin cargar datos. -
Si se establece en
false
, carga los datos.
-
-
(opcional)
schemas
otables
: una matriz de esquemas o tablas para cargar. Puede especificar cualquiera de los siguientes:-
Una lista de tablas con el formato
tables => ARRAY['
schema1
.table1
', 'schema1
.table2
', 'schema2
.table1
', ...] -
Una lista de esquemas con el formato
schemas => ARRAY[
'schema1
', 'schema2
', ...]
Si no incluye este parámetro, se migra toda la base de datos de origen especificada.
-
El parámetro de salida es el ID del trabajo con un mensaje.
En el ejemplo siguiente se muestra cómo utilizar el procedimiento almacenado rds_aurora.limitless_data_load_start
para cargar datos desde un clúster de base de datos de Aurora PostgreSQL.
CALL rds_aurora.limitless_data_load_start('aurora_postgresql', 'my-db-cluster', 'postgres', 'full_load_and_cdc', 'arn:aws:iam::123456789012:role/aurora-data-loader-8f2c66', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-source-8f2c66-EWrr0V', 'arn:aws:secretsmanager:us-east-1:123456789012:secret:secret-destination-8f2c66-d04fbD', 'true', 'false', tables => ARRAY['public.customer', 'public.order', 'public.orderdetails']); INFO: limitless data load job id 1688761223647 is starting.