web-dev-qa-db-ja.com

psql --single-transactionで最初のエラーのみを取得する方法

私は次のようなものを入力しています:

psql --single-transaction --quiet my_db < my_file.sql

スクリプトが失敗すると、次のように多くの行が表示されます:current transaction is aborted, commands ignored until end of transaction block

Linuxでは| moreは結果をパイプ処理しますが、Windowsでは(パイプがパイプではないため、最初のエラーを表示するには)時間がかかる場合があります。

私の質問:

最初のエラーのみを取得する方法はありますか?

  • .sqlファイルは私が生成したもので、必要に応じていくつかのセットやコマンドを追加できます
  • Y try --file(私は同じ動作をする)
4
Emilio Platzer

最初のエラーで停止するように要求するだけです。

$ psql -v ON_ERROR_STOP=on --single-transaction ...
8
Daniel Vérité