Re: psql behavior change on upgrade from version 12.x to 13.1

From: Bryn Llewellyn <bryn(at)yugabyte(dot)com>
To: Tom Lane PostgreSQL <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: psql behavior change on upgrade from version 12.x to 13.1
Date: 2021-02-09 19:57:26
Message-ID: 3308FF9B-C01C-476B-8CE9-0F2C9ACCC542@yugabyte.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 09-Feb-2021, at 11:43, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

Bryn Llewellyn <bryn(at)yugabyte(dot)com> writes:
> HAS ANYBODY ELSE SEEN WHAT I REPORT BELOW?

> First observation

> Now, when I copy a single line SQL command, terminated with semicolon and newline from the Text Edit app (with Command-C or the menu item) and then paste it into psql (with Command-V or the menu item), the newline isn't respected. I have to hit the return key by hand to see the effect. Moreover, the pasted line has a highlighted background.

> Second observation

> When I copy _several_ lines of SQL commands from the Text Edit app and then paste them into psql, none of the newlines are respected. (I still get the strange highlight.) Now when I hit the return key, I get errors like this:
> \i: extra argument "<the text of the line>" ignored

FWIW, I'm not seeing that here, with Big Sur 11.2 and up-to-date Postgres.

In a typical Postgres build, most of psql's input behavior is not
determined by psql itself, but by libreadline (or possibly libedit,
if PG was configured to use that instead). I speculate that your
build switched to a newer version of readline or libedit, and it's
behaving differently than you're used to. You could get some info
about this by applying "otool -L" to the psql executable. On my
laptop I see

$ otool -L /Users/tgl/testversion/bin/psql
/Users/tgl/testversion/bin/psql:
/Users/tgl/testversion/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.14.0)
/usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.60.1)

of which the relevant bit for this purpose is "/usr/lib/libedit.3.dylib",
pointing to the Apple-supplied version of libedit. Maybe you see
something else?

regards, tom lane

—————

Here’s what I get when I do "otool -L /usr/local/bin/psql";

/usr/local/bin/psql:
/usr/local/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.13.0)
/usr/local/opt/readline/lib/libreadline.8.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)

In other words, different from what you see. I'm an ordinary end user. I don't even think expllictly about “building" anything in the PostgreSQL system. I got into this mess (as I believe) because I did this:

brew update
brew upgrade

A colleague advised me to do this periodically as a hygiene measure. It had the surprising, and for me undesired, side-effect of upgrading my PostgreSQL installation from 12 to Version 13.1. I suppose that this triggered a build of some kind.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2021-02-09 20:11:52 Re: psql behavior change on upgrade from version 12.x to 13.1
Previous Message Tom Lane 2021-02-09 19:43:22 Re: psql behavior change on upgrade from version 12.x to 13.1