BUG #18731: The psql \d command does not exactly match but can be executed

Started by PG Bug reporting formover 1 year ago3 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 18731
Logged by: Man Zeng
Email address: zengman@halodbtech.com
PostgreSQL version: 16.6
Operating system: centos-8
Description:

Hi everyone,

I accidentally found that the \d command in psql does not match exactly, but
it can be executed. Just like the demo below.

[postgres@iZuf6hwo0wgeev4dvua4csZ postgres]$ psql
psql (16.6)
Type "help" for help.

postgres=# \dxabcdef plpgsql
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(1 row)

postgres=# \dx plpgsql
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(1 row)

postgres=# \dxabcdef
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
(1 row)

Then I looked at the code, taking \dxabcdef as an example, psql only cares
about the previous \dx, so you can enhance the "exec_command_d" to match
normally.
But I don't want to introduce a lot of string matching here to solve this
problem, maybe there is a better idea.
At the same time I'm not sure if this is a known problem or a bug.
I look forward to your reply.

Thanks,
Man Zeng

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: BUG #18731: The psql \d command does not exactly match but can be executed

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

I accidentally found that the \d command in psql does not match exactly, but
it can be executed. Just like the demo below.

Yeah, this is true for the entire \d family: trailing garbage in the
command name doesn't really matter. I'm not excited about trying
to tighten that up; we'd likely get more complaints than kudos.

regards, tom lane

#3zengman
zengman@halodbtech.com
In reply to: Tom Lane (#2)
Re: BUG #18731: The psql \d command does not exactly match but can be executed

Yeah, this is true for the entire \d family: trailing garbage in the
command name doesn't really matter.&nbsp; I'm not excited about trying
to tighten that up; we'd likely get more complaints than kudos.

Ok, when I saw this problem, I also suspected that it was the original design,&nbsp;
thank you for your reply.

Thanks,
Man Zeng