Обсуждение: psql 8.0.0 rc5 parser error on \dt?

Поиск
Список
Период
Сортировка

psql 8.0.0 rc5 parser error on \dt?

От
Dave Bodenstab
Дата:
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

Re: psql 8.0.0 rc5 parser error on \dt?

От
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.)

            regards, tom lane

Re: psql 8.0.0 rc5 parser error on \dt?

От
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.)
>

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