Re: psql line number reporting from stdin

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-12-03T17:27:32Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. psql -f -

On lör, 2011-11-26 at 22:36 +0200, Peter Eisentraut wrote:
> There is a long-standing oddity in psql that running
> 
> psql -f foo.sql
> 
> returns error messages with file name and line number, like
> 
> psql:foo.sql:1: ERROR:  syntax error at or near "foo"
> 
> but running
> 
> psql < foo.sql does not.  I suggest we change the latter to print
> 
> psql:<stdin>:1: ERROR:  syntax error at or near "foo"

It turns out that running

psql -f -

already used to print

psql:<stdin>:1: ERROR:  blah

except that it got broken between 8.4 and 9.0 (commit b291c0fb), and now
prints

psql:-:1: ERROR:  blah


I'll try to find a way to fix that and integrate it with the change I'm
proposing.