diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 4b5e5274e5..0675a8e17b 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -3505,14 +3505,24 @@ PSQL_EDITOR_LINENUMBER_ARG='--line ' - psql is only guaranteed to work smoothly - with servers of the same version. That does not mean other combinations - will fail outright, but subtle and not-so-subtle problems might come - up. Backslash commands are particularly likely to fail if the - server is of a newer version than psql itself. However, - backslash commands of the \d family should work with - servers of versions back to 7.4, though not necessarily with servers - newer than psql itself. + psql works best with servers of the same + or an older major version. Backslash commands are particularly likely + to fail if the server is of a newer version than psql + itself. However, backslash commands of the \d family should + work with servers of versions back to 7.4, though not necessarily with + servers newer than psql itself. The general + functionality of running SQL commands and displaying query results + should also work with servers of a newer major version, but this cannot + be guaranteed in all cases. + + + If you want to use psql to connect to several + servers of different major versions, it is recommended that you use the + newest version of psql. Alternatively, you + can keep a copy of psql from each major + version around and be sure to use the version that matches the + respective server. But in practice, this additional complication should + not be necessary. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index dc04399d0b..b90d2f12b9 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1694,8 +1694,8 @@ connection_warnings(bool in_startup) else if (in_startup) printf("%s (%s)\n", pset.progname, PG_VERSION); - if (pset.sversion / 100 != client_ver / 100) - printf(_("WARNING: %s version %d.%d, server version %d.%d.\n" + if (pset.sversion / 100 > client_ver / 100) + printf(_("WARNING: %s major version %d.%d, server major version %d.%d.\n" " Some psql features might not work.\n"), pset.progname, client_ver / 10000, (client_ver / 100) % 100, pset.sversion / 10000, (pset.sversion / 100) % 100);