Status keluar PostgreSQL saat menjalankan file


16

Saat menjalankan PostgreSQL dengan satu kode kesalahan perintah SQL dikembalikan seperti yang diharapkan:

% psql -c "SELECT * FROM AWDASDASDASDAS" my_db
ERROR:  relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
1

Tetapi ketika menjalankan file, kesalahan ditekan:

% psql -f test.sql my_db
psql:test.sql:1: ERROR:  relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
0

Adakah yang tahu bagaimana cara mengembalikan kesalahan ini?

Jawaban:


12

Menambahkan ini ke baris pertama file SQL berguna:

\set ON_ERROR_STOP 1

Komentar baru (Terima kasih!) Menyarankan solusi berikut:

-v ON_ERROR_STOP=1
-v ON_ERROR_STOP=on

2
@ pt12lol Itu gagal bagi saya juga, ini berhasil:psql -v ON_ERROR_STOP=on -f file_name.sql
Morgen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.