Re: psql: Allow editing query results with \gedit

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Christoph Berg <myon(at)debian(dot)org>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: psql: Allow editing query results with \gedit
Date: 2024-01-22 16:33:18
Message-ID: CAKFQuwYzHrqCPp2PYvvp3p7fKakg9ZTHdgniCFReFZ9LraQbqg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jan 22, 2024 at 8:06 AM Christoph Berg <myon(at)debian(dot)org> wrote:

> Assuming a SELECT statement reading from a single table, it is quite an
> effort to transform that statement to an UPDATE statement on that table,
> perhaps to fix a typo that the user has spotted in the query result.
>
>
Building off the other comments, I'd suggest trying to get rid of the
intermediate JSOn format and also just focus on a single row at any given
time.

For an update the first argument to the metacommand could be the unique key
value present in the previous result. The resultant UPDATE would just put
that into the where clause and every other column in the result would be a
SET clause column with the thing being set the current value, ready to be
edited.

DELETE would be similar but without the need for a SET clause.

INSERT can produce a template INSERT (cols) VALUES ... command with some
smarts regarding auto incrementing keys and placeholder values.

David J.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-01-22 16:35:22 Re: pg_stat_statements and "IN" conditions
Previous Message Tom Lane 2024-01-22 16:25:14 Re: Support TZ format code in to_timestamp()