Я объясню свой вариант использования более подробно:
Источник Я использовал команду UNLOAD для «экспорта» данных из таблицы в Redshift, это команда:
UNLOAD('SELECT * FROM schema.table')
TO 's3://bucket-name/prefix_'
HEADER
CSV
NULL AS '\000'
IAM_ROLE 'arn:aws:iam::accountNumber:role/aRoleWithRedshiftAndS3Permissions';
Цель Мне нужно поместить данные Redshift (теперь файл в s3) в базу данных RDS (Aurora- postgresql), перед импортом файла я переименовал файлы в s3 и добавьте расширение .csv; Я использовал pgAdmin 4 в качестве Postgresql клиента и открыл редактор запросов для выполнения следующих команд:
- Добавить новое расширение s3 в базу данных:
CREATE EXTENSION aws_s3 CASCADE;
NOTICE: installing required extension "aws_commons"
Выполнить функцию для импорта файла из s3
select aws_s3.table_import_from_s3(
'schame.table_name',
'',
'(FORMAT CSV, HEADER true)',
aws_commons.create_s3_uri('sample_s3_bucket_name','source_file_name.csv','aws-region')
);
Примечание: Если вы используете формат CSV по умолчанию символом кавычки является ", то вам не нужно указывать кавычку как параметр параметра, это нужно сделать, если вы используете другой символ кавычки.