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