Thread: possible bug in psql
do not know if right mailing list in psql in Ubuntu, when beginning with a smaller terminal, eg, 80 col wide, then moving to a larger terminal, eg, 132 colwide, the readline(?) editor in psql still treats like 80 cols, making it impossible to edit longer text.
chester c young <chestercyoung@yahoo.com> writes: > do not know if right mailing list > in psql in Ubuntu, when beginning with a smaller terminal, eg, 80 col wide, then moving to a larger terminal, eg, 132 colwide, the readline(?) editor in psql still treats like 80 cols, making it impossible to edit longer text. You'd need to tell the readline people about that one. regards, tom lane
On 2012-05-29, chester c young <chestercyoung@yahoo.com> wrote: > do not know if right mailing list > > in psql in Ubuntu, when beginning with a smaller terminal, eg, 80 > col wide, then moving to a larger terminal, eg, 132 col wide, the > readline(?) editor in psql still treats like 80 cols, making it > impossible to edit longer text. As far as I know (as this is the behavior in debian stable) the ubuntu people use libgettext and not libreadline. You can force it to use libreadline by using LD_PRELOAD. I reccomend that you do I did this by editing /usr/bin/psql which is a perl script In any case linux doesn't propogate SIG_WINCH to the other processes that are using the pty so even if you are using readline you have to force this by resizing the window again after exiting the pager, and then press ctrl-l to clear the screen. see also: ld.so(8) kill(7) /usr/share/doc/postgresql-common/* -- ⚂⚃ 100% natura
On 05/29/2012 07:48 PM, Jasen Betts wrote: > On 2012-05-29, chester c young<chestercyoung@yahoo.com> wrote: >> do not know if right mailing list >> >> in psql in Ubuntu, when beginning with a smaller terminal, eg, 80 >> col wide, then moving to a larger terminal, eg, 132 col wide, the >> readline(?) editor in psql still treats like 80 cols, making it >> impossible to edit longer text. > As far as I know (as this is the behavior in debian stable) > the ubuntu people use libgettext and not libreadline. > > You can force it to use libreadline by using LD_PRELOAD. I reccomend > that you do I did this by editing /usr/bin/psql which is a perl script > > In any case linux doesn't propogate SIG_WINCH to the other processes > that are using the pty so even if you are using readline you have to > force this by resizing the window again after exiting the pager, and > then press ctrl-l to clear the screen. It'd be nice if `less` would kill(SIGWINCH) its ppid since it is so often invoked as a helper. I guess they probably have good reasons not to. -- Craig Ringer
> > do not know if right mailing list > > > > in psql in Ubuntu, when beginning with a smaller > terminal, eg, 80 > > col wide, then moving to a larger terminal, eg, 132 col > wide, the > > readline(?) editor in psql still treats like 80 cols, > making it > > impossible to edit longer text. > > As far as I know (as this is the behavior in debian stable) > the ubuntu people use libgettext and not libreadline. > > You can force it to use libreadline by using > LD_PRELOAD. I reccomend > that you do I did this by editing /usr/bin/psql which is a > perl script > > In any case linux doesn't propogate SIG_WINCH to the other > processes > that are using the pty so even if you are using readline you > have to > force this by resizing the window again after exiting the > pager, and > then press ctrl-l to clear the screen. seems to me that Ubuntu is using readline (but I might be wrong) from /usr/bin/psql: # libreadline is a lot better than libedit, so prefer that if ($cmdname eq 'psql') { my @readlines; push @readlines, sort(</lib/libreadline.so.*>); if (@readlines) { $ENV{'LD_PRELOAD'}= ($ENV{'LD_PRELOAD'} or '') . ':' . $readlines[-1]; } } also, LD_PRELOAD is not referenced anywhere in /etc/postgrest/...