Обсуждение: 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