Thread: psql additions

psql additions

From
Andrew Dunstan
Date:
Here's a couple of ideas I had recently about making psql a bit more 
user friendly.

First, it would be useful to be able to set pager options and possibly 
other settings, so my suggestion is for a \setenv command that could be 
put in a .psqlrc file, something like:
   \setenv PAGER='less'   \setenv LESS='-imFX4'


Probably other people can think of more uses for such a gadget.

Second, I'd like to be able to set a minimum number of lines below which 
the pager would not be used, something like:
   \pset pagerminlines 200


Thoughts?

cheers

andrew


Re: psql additions

From
Robert Haas
Date:
On Sun, Sep 11, 2011 at 2:58 PM, Andrew Dunstan <andrew@dunslane.net> wrote:
> Here's a couple of ideas I had recently about making psql a bit more user
> friendly.
>
> First, it would be useful to be able to set pager options and possibly other
> settings, so my suggestion is for a \setenv command that could be put in a
> .psqlrc file, something like:
>
>   \setenv PAGER='less'
>   \setenv LESS='-imFX4'

Seems useful.

> Second, I'd like to be able to set a minimum number of lines below which the
> pager would not be used, something like:
>
>   \pset pagerminlines 200
>
> Thoughts?

Gee, why do I feel like we have something like this already?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: psql additions

From
Andrew Dunstan
Date:

On 09/11/2011 11:43 PM, Robert Haas wrote:
>
>
>> Second, I'd like to be able to set a minimum number of lines below which the
>> pager would not be used, something like:
>>
>>    \pset pagerminlines 200
>>
>> Thoughts?
> Gee, why do I feel like we have something like this already?

We do? We control columns, but not lines AFAIK.

cheers

andrew


Re: psql additions

From
Peter Eisentraut
Date:
On mån, 2011-09-12 at 05:26 -0400, Andrew Dunstan wrote:
> 
> On 09/11/2011 11:43 PM, Robert Haas wrote:
> >
> >
> >> Second, I'd like to be able to set a minimum number of lines below which the
> >> pager would not be used, something like:
> >>
> >>    \pset pagerminlines 200
> >>
> >> Thoughts?
> > Gee, why do I feel like we have something like this already?
> 
> We do? We control columns, but not lines AFAIK.

We check the lines and columns in the terminal window.  Oddly enough,
that code is in two separate places, so I don't know if they have
consistent effects.




Re: psql additions

From
Andrew Dunstan
Date:

On 09/12/2011 08:39 AM, Peter Eisentraut wrote:
> On mån, 2011-09-12 at 05:26 -0400, Andrew Dunstan wrote:
>> On 09/11/2011 11:43 PM, Robert Haas wrote:
>>>
>>>> Second, I'd like to be able to set a minimum number of lines below which the
>>>> pager would not be used, something like:
>>>>
>>>>     \pset pagerminlines 200
>>>>
>>>> Thoughts?
>>> Gee, why do I feel like we have something like this already?
>> We do? We control columns, but not lines AFAIK.
> We check the lines and columns in the terminal window.  Oddly enough,
> that code is in two separate places, so I don't know if they have
> consistent effects.
>
>

Yes, but what I want is to be able to control it. So even if my terminal 
is 50 lines long I want to be able to say "Don't use the pager unless 
there are 200 or more lines."

cheers

andrew


Re: psql additions

From
Peter Eisentraut
Date:
On mån, 2011-09-12 at 09:01 -0400, Andrew Dunstan wrote:
> 
> On 09/12/2011 08:39 AM, Peter Eisentraut wrote:
> > On mån, 2011-09-12 at 05:26 -0400, Andrew Dunstan wrote:
> >> On 09/11/2011 11:43 PM, Robert Haas wrote:
> >>>
> >>>> Second, I'd like to be able to set a minimum number of lines below which the
> >>>> pager would not be used, something like:
> >>>>
> >>>>     \pset pagerminlines 200
> >>>>
> >>>> Thoughts?
> >>> Gee, why do I feel like we have something like this already?
> >> We do? We control columns, but not lines AFAIK.
> > We check the lines and columns in the terminal window.  Oddly enough,
> > that code is in two separate places, so I don't know if they have
> > consistent effects.
> >
> >
> 
> Yes, but what I want is to be able to control it. So even if my terminal 
> is 50 lines long I want to be able to say "Don't use the pager unless 
> there are 200 or more lines."

Right.  Actually, if you implemented the \setenv idea, you could set the
environment variable LINES to get that effect.  Except that you will
then also have to implement the part that looks at the LINES variable,
but we have code elsewhere that looks at COLUMNS, so that would only be
consistent.  Again, see comment above that the lines and columns
checking might be a bit inconsistent at the moment.