ちょっと考えればわかりそうな事だったんだけど, メモしておく.
git bashやmsys2でpg_dumpを使おうとするとWindowsには疑似端末がない影響なのか, うまく動作しない.
(とはいえ,最近は状況が変わってきたようだけど.) マイクロソフト、Windows 10にUNIX系OSと似た擬似コンソール実装
うまくいかない例
pg_dump -h localhost -p ${LocalPort} -U ${DBUser} -d ${DBName} > dumpfile.sql
上記で実行すると, パスワードの入力待ちがうまく表示されない.
「お, こりゃ見たことあるゼ! winpty使えばいいんだろ?」
と安直にやるとリダイレクトがうまく動作しない.
うまくいった例
winpty pg_dump -f ${DumpFilePath} -h localhost -p ${LocalPort} -U ${DBUser} -d ${DBName}
困り果ててpg_dumpのマニュアルを引くと, なんとファイル出力するオプションがあるではないか.
そういえばmysqlでもそうだった気が...
msys2で使う時には以下もあった方がいいのか?
export PGCLIENTENCODING=UTF8