BUG #17020: meta command psql \reset does not clear the query buffer

Started by PG Bug reporting formalmost 5 years ago5 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 17020
Logged by: François Grandvarlet
Email address: francois.grandvarlet@wanadoo.fr
PostgreSQL version: 13.3
Operating system: Centos 7
Description:

Connected via psql
issuing a command like : SELECT * FROM generate_series (1, 1000);
meta command \p shows the query buffer
meta command \reset tells "Query buffer reset (cleared)."
but meta command \p still shows the query buffer and meta command \g execute
the query
Is this the normal behavior ?
It seems to me that the query buffer should be empty after issuing \reset

#2Bruce Momjian
bruce@momjian.us
In reply to: PG Bug reporting form (#1)
Re: BUG #17020: meta command psql \reset does not clear the query buffer

On Tue, May 18, 2021 at 10:16:16PM +0000, PG Bug reporting form wrote:

The following bug has been logged on the website:

Bug reference: 17020
Logged by: Fran�ois Grandvarlet
Email address: francois.grandvarlet@wanadoo.fr
PostgreSQL version: 13.3
Operating system: Centos 7
Description:

Connected via psql
issuing a command like : SELECT * FROM generate_series (1, 1000);
meta command \p shows the query buffer
meta command \reset tells "Query buffer reset (cleared)."
but meta command \p still shows the query buffer and meta command \g execute
the query
Is this the normal behavior ?
It seems to me that the query buffer should be empty after issuing \reset

I was recently confused by this too, but the psql \print documentation
clarified it for me:

\p or \print
Print the current query buffer to the standard output. If the
--> current query buffer is empty, the most recently executed query is
--> printed instead.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #17020: meta command psql \reset does not clear the query buffer

PG Bug reporting form <noreply@postgresql.org> writes:

issuing a command like : SELECT * FROM generate_series (1, 1000);
meta command \p shows the query buffer
meta command \reset tells "Query buffer reset (cleared)."
but meta command \p still shows the query buffer and meta command \g execute
the query
Is this the normal behavior ?

Yes. \p is documented as

Print the current query buffer to the standard output. If the current
query buffer is empty, the most recently executed query is printed
instead.

and \g likewise says "If the current query buffer is empty, the most
recently sent query is re-executed instead".

It seems to me that the query buffer should be empty after issuing \reset

It is. If you now type something, that something is a new command that's
not concatenated with what you typed before.

regards, tom lane

#4Noname
francois.grandvarlet@wanadoo.fr
In reply to: Bruce Momjian (#2)
RE: BUG #17020: meta command psql \reset does not clear the query buffer

Thank you very much for your answer and your explanations.
I should have read the doc more carefully.

Best regards,
François Grandvarlet

-----Message d'origine-----
De : Bruce Momjian <bruce@momjian.us>
Envoyé : mercredi 19 mai 2021 16:40
À : francois.grandvarlet@wanadoo.fr; pgsql-bugs@lists.postgresql.org
Objet : Re: BUG #17020: meta command psql \reset does not clear the query
buffer

On Tue, May 18, 2021 at 10:16:16PM +0000, PG Bug reporting form wrote:

The following bug has been logged on the website:

Bug reference: 17020
Logged by: François Grandvarlet
Email address: francois.grandvarlet@wanadoo.fr
PostgreSQL version: 13.3
Operating system: Centos 7
Description:

Connected via psql
issuing a command like : SELECT * FROM generate_series (1, 1000); meta
command \p shows the query buffer meta command \reset tells "Query
buffer reset (cleared)."
but meta command \p still shows the query buffer and meta command \g
execute the query Is this the normal behavior ?
It seems to me that the query buffer should be empty after issuing
\reset

I was recently confused by this too, but the psql \print documentation
clarified it for me:

\p or \print
Print the current query buffer to the standard output. If the
--> current query buffer is empty, the most recently executed query
is
--> printed instead.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.

#5Bruce Momjian
bruce@momjian.us
In reply to: Noname (#4)
Re: BUG #17020: meta command psql \reset does not clear the query buffer

On Wed, May 19, 2021 at 05:23:06PM +0200, francois.grandvarlet@wanadoo.fr wrote:

Thank you very much for your answer and your explanations.
I should have read the doc more carefully.

For me the confusing part is the psql \? doesn't mention this behavior.

--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com

If only the physical world exists, free will is an illusion.