Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries) - Mailing list pgsql-hackers

From Kirk Wolak
Subject Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries)
Date
Msg-id CACLU5mR_TqU+HfNK2-BtdNkeCpSjFBopfWTZxYanFOUDN8FWvQ@mail.gmail.com
Whole thread Raw
In response to Re: RFC: Adding \history [options] [filename] to psql (Snippets and Shared Queries)  (Gurjeet Singh <gurjeet@singh.im>)
List pgsql-hackers
On Tue, Jun 13, 2023 at 1:59 AM Gurjeet Singh <gurjeet@singh.im> wrote:
On Mon, Jun 5, 2023 at 8:58 AM Kirk Wolak <wolakk@gmail.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

pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: POC, WIP: OR-clause support for indexes
Next
From: Amit Kapila
Date:
Subject: Re: Assert while autovacuum was executing