"Stuart Cooper" <stuart.cooper@gmail.com> writes:
>> I have an enormous sql script with an incorrect insert line somewhere.
>> I can echo the commands to stdout as they are executed, but apparently
>> errors go to stderr. How can I determine where the problem is?
> from memory, if you invoke it from the shell with psql [connection
> options] -f filename.sql
> you'll get the line number of filename.sql that has the error.
Any reasonably recent version of postgres will give you a fairly decent
pointer to syntax errors. For example:
$ cat bogus.sql
select *
from
foo bar baz
where 1=0;
$ psql regression
...
regression=# \i bogus.sql
psql:bogus.sql:4: ERROR: syntax error at or near "baz"
LINE 3: foo bar baz
^
regression=#
If you feel you're being left in the dark, please provide some specifics
about what the error is and what PG version you're using.
regards, tom lane