How to Copy Data from S3 in Redshift

Last updated July 25, 2026 · By the SaturnSQL team

COPY loads files from S3 in parallel using an IAM role and is the fastest way to get data into Redshift. Use IGNOREHEADER 1 for CSVs with a header row, and check STL_LOAD_ERRORS when a load fails.

COPY orders (customer_id, amount, created_at)
FROM 's3://my-bucket/imports/orders/'
IAM_ROLE 'arn:aws:iam::123456789012:role/RedshiftLoadRole'
FORMAT AS CSV
IGNOREHEADER 1
TIMEFORMAT 'auto'
REGION 'eu-west-1';

Debug a failed load

SELECT starttime, filename, line_number, colname, err_reason,
       raw_line
FROM stl_load_errors
ORDER BY starttime DESC
LIMIT 10;

COPY loads every file matching the prefix, so point it at a folder of files rather than one big file to use all slices. Typical failures are type mismatches and stray delimiters; err_reason and raw_line in STL_LOAD_ERRORS show the offending value.

Run this in SaturnSQL

SaturnSQL is a browser-based SQL editor for teams: shared query library, schema-aware autocomplete, and scheduled exports to Google Sheets and Slack.

Try it free

Related Redshift guides

© 2026 Panda Capital Oy Ab. All rights reserved.