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