Обсуждение: psql 8.0.0 rc5 parser error on \dt?
I built 8.0.0rc5 on FreeBSD 4.8. It built with no errors. I then
tried psql using another host running postgresql 7.1.3 and I get the
goofy error message shown below. Other backslash commands seem to work
(ie. \? \e \q).
$ psql -h host-running-7.1.3 test
Welcome to psql 8.0.0rc5, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
test=> \dt
ERROR: parser: parse error at or near "."
test=> \q
$
Just to see if there might be something funny with the flex generated
parser, I ran flex against psqlscan.l; the output was identical to the
original psqlscan.c.
I built postgresql with:
$ pg_config --configure
'--with-template=freebsd' '--with-pam' '--with-openssl' 'CFLAGS= ' 'CPPFLAGS= ' 'LDFLAGS=-L/usr/local/lib'
I have not installed postgresql previously on this system, so it cannot
be picking up anything from a previous install.
A question: where would I go to check if this problem has already
been reported?
Thanks.
Dave Bodenstab
Dave Bodenstab <dave@bodenstab.org> writes:
> I built 8.0.0rc5 on FreeBSD 4.8. It built with no errors. I then
> tried psql using another host running postgresql 7.1.3 and I get the
> goofy error message shown below.
psql's backslash commands are only guaranteed to work with a server of
the same version. Trying 8.0 against a prehistoric server like that
is going to result in all kinds of oddness. (Look at the actual
queries with -E to see why.)
regards, tom lane
> > Dave Bodenstab <dave@bodenstab.org> writes: > > I built 8.0.0rc5 on FreeBSD 4.8. It built with no errors. I then > > tried psql using another host running postgresql 7.1.3 and I get the > > goofy error message shown below. > > psql's backslash commands are only guaranteed to work with a server of > the same version. Trying 8.0 against a prehistoric server like that > is going to result in all kinds of oddness. (Look at the actual > queries with -E to see why.) > That was it, thank you. I've now got 8.0.0rc5 installed and running. The \dt command of psql works fine. I wonder if it might be possible to issue an error message that reflects the incompatible version situation that I encountered. The message I got led me to believe that there was some sort of parse error in the input I was typing. Had the error message told me that the DB versions did not match and that unpredictable results could occur, I might have figured out the problem myself -- or at least tried it against 8.0.0rc5 once I got it running. Anyway, thanks again for your response. Dave Bodenstab