🥴
AWS Aurora PostgreSQL でCOPYコマンドを使うときは
この記事の概要
intro
Auroraからcsvでテーブルデータ抜こうとしたら、
ERROR: must be superuser to COPY to or from a file
が出てぼくブチギレ
ヒントに重要なことが書いてあった。
HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.
STDOUT で標準出力をリダイレクトすればOK
psql -h <ホスト> -U <ユーザ> -p <ポート> <DB名> -c "COPY (SELECT文) TO STDOUT WITH CSV HEADER;" >> 任意のファイル名
インポートは STDIN を使う
cat <任意のファイル名> | psql -h <ホスト> -U <ユーザ> -p <ポート> <DB名> -c "COPY <テーブル名> FROM STDIN (FORMAT CSV, HEADER true)"
Discussion