Re: BUG #14287: psql_history gets wiped out - Mailing list pgsql-bugs

From Daniel Verite
Subject Re: BUG #14287: psql_history gets wiped out
Date
Msg-id d3ce9b1d-b5a8-4598-aafa-3f3e1b2a7f22@mm
Whole thread Raw
In response to Re: BUG #14287: psql_history gets wiped out  (Rick Otten <rotten@windfish.net>)
Responses Re: BUG #14287: psql_history gets wiped out
List pgsql-bugs
Rick Otten wrote:

>  think I have readline installed on the system:=20
>=20
> $ dpkg -l | grep readline
> ii libreadline5:amd64 5.2+dfsg-2 amd64 GNU readline and history
> libraries, run-time libraries
> ii libreadline6:amd64 6.3-4ubuntu2 amd64 GNU readline and history
> libraries, run-time libraries
> ii readline-common=20

According to the strace output, the replacement of libedit
by libreadline at runtime does not happen in your case
(the "_HiStOrY_V2_" string is from libedit).

This replacement is done by pg_wrapper, a Perl script to which
/usr/bin/psql is normally linked:
$ ls -l /usr/bin/psql
/usr/bin/psql -> ../share/postgresql-common/pg_wrapper
The script pushes libreadline over libedit through LD_PRELOAD, and
launches the actual binary located in=20
/usr/lib/postgresql/X.Y/bin/psql (where X.Y is the current cluster's
PG version).

You may want to check if that script is not entirely sidestepped in
your setup, as that would explain why libedit gets used. For instance,
a modified PATH or psql being a shell alias could lead to that.

Aside from the bug resulting in an empty file, libedit
will ignore readline's history and remove it from the file
when saving, which is annoying by itself if using it by accident.

Best regards,
--=20
Daniel V=E9rit=E9
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #14287: psql_history gets wiped out
Next
From: Rick Otten
Date:
Subject: Re: BUG #14287: psql_history gets wiped out