diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index 4b2679360f..9ffb1ef10f 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -855,6 +855,7 @@ static bool PrintQueryTuples(const PGresult *results) { printQueryOpt my_popt = pset.popt; + bool result = true; /* one-shot expanded output requested via \gx */ if (pset.g_expanded) @@ -872,6 +873,11 @@ PrintQueryTuples(const PGresult *results) disable_sigpipe_trap(); printQuery(results, &my_popt, fout, false, pset.logfile); + if (ferror(fout)) + { + pg_log_error("could not print tuples: %m"); + result = false; + } if (is_pipe) { @@ -882,9 +888,16 @@ PrintQueryTuples(const PGresult *results) fclose(fout); } else + { printQuery(results, &my_popt, pset.queryFout, false, pset.logfile); + if (ferror(pset.queryFout)) + { + pg_log_error("could not print tuples: %m"); + result = false; + } + } - return true; + return result; }