🙌

Aurora(PostgreSQL)のCSVエクスポートをS3バケット直で行う

2025/02/17に公開

データが大きい場合に、EC2にCSVファイルをエクスポートしようとすると、リソースを食って失敗する事があります。
その場合は 標準出力 で S3バケットにそのまま流すのが良いと思います。

  • エクスポート時
$ psql -h <Auroraエンドポイント> -U <ユーザー名> -d <DB名> -c "\copy (SELECT * FROM <テーブル名>) TO STDOUT WITH CSV HEADER" | aws s3 cp - s3://<バケット名>/file.csv
  • インポート時
$ aws s3 cp s3://<バケット名>/file.csv - | psql -h <Auroraエンドポイント> -U <ユーザー名> -d <DB名> -c "\copy <テーブル名> FROM STDIN WITH CSV HEADER"

Discussion