PowerShell : してログ

PostgreSQL の pg_dump や pg_restore といった CLI 管理ツールは、PowerShell ではうまく動かいないようです。 Windows のコマンド・プロンプトに代わるコマンド・ライン・インターフェイスの PowerShell ですが、コマンド・プロンプトの代わりにはならないということが分かりました。

無理に使おうとした場合、下記のような警告やエラーが出て、作成されたバックアップファイルも壊れています。 Windows Server 2012 では、PowerShell が標準という扱いのようなのですが、似たような見た目に騙されると痛い目に遭います。 マイクロソフトに言いたいのは、もっと保守的にアップデートして欲しい、ということ。 特に、サーバー系 OS はね。

pg_dump を PowerShell で使った場合に出る警告
pg_dump: [カスタムアーカイバ] 警告: ftellで想定位置との不整合がありました -- ftellが使用されました
PowerShell + pg_dump で作ったバックアップファイルを pg_restore でリストアした場合のエラー
[アーカイバ]ファイルヘッダにマジック番号がありませんでした。