BUG #6271: psql -f reporting unexpected syntax errors on first command

From: "Shannon" <shannon(at)arc(dot)net(dot)au>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #6271: psql -f reporting unexpected syntax errors on first command
Date: 2011-10-26 04:08:00
Message-ID: 201110260408.p9Q480jo087565@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 6271
Logged by: Shannon
Email address: shannon(at)arc(dot)net(dot)au
PostgreSQL version: 8.4.9
Operating system: Gentoo Linux 64bit
Description: psql -f reporting unexpected syntax errors on first
command
Details:

Given the following 2 line SQL script in a file:

--- test.sql ---
SHOW client_encoding;
SHOW client_encoding;
----------------

$ psql -ftest.sql -U postgres template1

psql:test.sql:1: ERROR: syntax error at or near "SHOW"
LINE 1: SHOW client_encoding;
^
client_encoding
-----------------
UTF8
(1 row)

See what happened there? The first line is treated as a syntax error and the
second line works which is insane because the two lines are identical!

I've tried:
* Adding empty lines and/or comments to the top of the file
* Setting PGCLIENTENCODING in the shell to a variety of values including
UTF8, SQL_ASCII and LATIN1
* Other commands

What works:
* Every line except the one with the first command
* Piping a string into psql stdin
* Using psql interactively

Other factors:
Could this be related to my locale?

$ locale
LANG=en_AU.utf8
LC_CTYPE="en_AU.utf8"
LC_NUMERIC="en_AU.utf8"
LC_TIME="en_AU.utf8"
LC_COLLATE="en_AU.utf8"
LC_MONETARY="en_AU.utf8"
LC_MESSAGES="en_AU.utf8"
LC_PAPER="en_AU.utf8"
LC_NAME="en_AU.utf8"
LC_ADDRESS="en_AU.utf8"
LC_TELEPHONE="en_AU.utf8"
LC_MEASUREMENT="en_AU.utf8"
LC_IDENTIFICATION="en_AU.utf8"
LC_ALL=

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message goudvis 2011-10-26 08:01:35 Re: BUG #6269: Anomaly detection
Previous Message Tom Lane 2011-10-25 23:30:07 Re: BUG #6267: Wrong results in pg_database_size