From: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | DWIM mode for psql |
Date: | 2019-03-31 20:52:34 |
Message-ID: | CA+hUKGL-i3KEFNTc5VUSwizSjvop_3LTpHifVyN0o-Bi2J13hA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
Building on the excellent work begun by commit e529cd4ffa60, I would
like to propose a do-what-I-mean mode for psql. Please find a POC
patch attached. It works like this:
postgres=# select datnaam from pg_database where ooid = 12917;
ERROR: column "datnaam" does not exist
LINE 1: select datnaam from pg_database where ooid = 12917;
^
HINT: Perhaps you meant to reference the column "pg_database.datname".
postgres=# YES
datname
----------
postgres
(1 row)
As you can see, by "shouting" a new keyword at the computer, it will
take its own hint and run the corrected query. To avoid having to do
this in two steps, you can also shout the whole query for the same
effect:
postgres=# SELECT DATNAAM FROM PG_DATABASE WHERE OOID = 12917;
datname
----------
postgres
(1 row)
The next version will be able to fix permissions problems and override
errors automatically as follows, though that is proving trickier to
get working. Example:
postgres=# SUDO DROP TABLE PG_DATABASS;
NO CARRIER
--
Thomas Munro
https://enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
0001-Add-do-what-I-mean-mode-to-psql.patch | application/octet-stream | 2.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2019-03-31 21:04:45 | Re: DWIM mode for psql |
Previous Message | Andres Freund | 2019-03-31 19:05:18 | Re: COPY FROM WHEN condition |