Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries)

From: Kirk Wolak <wolakk(at)gmail(dot)com>
To: Gurjeet Singh <gurjeet(at)singh(dot)im>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries)
Date: 2023-06-26 03:26:38
Message-ID: CACLU5mR_TqU+HfNK2-BtdNkeCpSjFBopfWTZxYanFOUDN8FWvQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 13, 2023 at 1:59 AM Gurjeet Singh <gurjeet(at)singh(dot)im> wrote:

> On Mon, Jun 5, 2023 at 8:58 AM Kirk Wolak <wolakk(at)gmail(dot)com> wrote:
> >
> > Everyone,
> > After recently deep diving on some readline features and optimizing my
> bash environment to have a static set of "snippets" that I can always
> find...
> >
> > it takes just a couple of history API calls to add some interesting
> features for those that want them. The result of adding 3-4 such commands
> (all under \history, and with compatible flags):
> >
> > - Saving your current history without exiting (currently doable as \s
> :HISTFILE)
> > - Reloading your history file (so you can easily share something across
> sessions) w/o exiting.
> > - Stack Loading of specific history (like a shared snippets library, and
> a personal snippets library) [clearing your history, then loading them in a
> custom order]
> >
> > The upside is really about clearly identifying and sharing permanent
> snippets, while having that list be editable externally. Again, bringing
> teams online who don't always know the PG way of doing things (Waits,
> Locks, Space, High CPU queries, Running Queries).
> >
> > My intention is to leverage the way PSQL keeps the Comment above the
> SQL with the SQL.
> > Then I can step backwards searching for "context" markers (Ctrl-R) or
> > -- <CONTEXT> [F8] {history-search-backward}
> >
> > To rip through my snippets
> >
> > Kirk...
> > PS: I could do all of this under \s [options] [filename] it's just less
> clear...
>
> Understandably, there doesn't seem to be a lot of enthusiasm for this.
> If you could show others a sample/demo session of what the UI and UX
> would look like, maybe others can chime in with either their opinion
> of the behaviour, or perhaps a better/different way of achieving that.
>
> Gurjeet,
I agree. I've decided to do an implementation, and then explain its
usage. There are 2-3 different use cases.
Like pasting a huge script of one liners into \e and then executing them.
But not wanting them in your history.
\s -c -- Clear the history
\s -r :HISTFILE

The magic I want for snippets is (inside .psqlrc):
\s -r snippets.sql
and then let the normal histfile load.
or use
\s -r :HISTFILE and force it to load.

Then the hard examples and the invocation will make more sense.

Thanks for the feedback!

> Best regards,
> Gurjeet
> http://Gurje.et
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2023-06-26 04:18:24 Re: Assert while autovacuum was executing
Previous Message Peter Geoghegan 2023-06-26 03:18:37 Re: POC, WIP: OR-clause support for indexes