Postgresql 在更多情况下,如何在psql中启用自动完成?

Postgresql 在更多情况下,如何在psql中启用自动完成?,postgresql,psql,Postgresql,Psql,我是RDBMS的新手 Postgres帮助我自动完成,但它不适用于FROM,WHERE,以及SELECT子句中的DISTINCT 当然,它已经连接到数据库。还有要查询的模式和表 例如,当我尝试输入以下查询时,SELECT后面的所有关键字都不会自动完成 选择countrycode='JPN'所在城市的不同地区; 但是,在我手动输入并运行完之后,没有出现错误。Postgres正常返回结果 尽管如此,它仍适用于其他子句,如CREATE和ALTER 如何自动完成这些? 谢谢。无法自动完成选择和FROM

我是RDBMS的新手

Postgres帮助我自动完成,但它不适用于
FROM
WHERE
,以及
SELECT
子句中的
DISTINCT

当然,它已经连接到数据库。还有要查询的模式和表

例如,当我尝试输入以下查询时,
SELECT
后面的所有关键字都不会自动完成

选择countrycode='JPN'所在城市的不同地区;
但是,在我手动输入并运行完之后,没有出现错误。Postgres正常返回结果

尽管如此,它仍适用于其他子句,如
CREATE
ALTER

如何自动完成这些?
谢谢。

无法自动完成
选择
FROM
之间的关键字(“您的示例中的distinct”和“distinct”)因为解析器不知道您所指的列、关键字、函数名等。如果键入
选择DI
并按
选项卡
,解析器将不知道您是在尝试完成
DISTINCT
关键字还是
DISTINCT
列名(请记住,在Postgres中,单词的解释不区分大小写,除非使用双引号
).FROM
关键字之后,解析器知道您可能要键入表名,因此它能够支持制表符完成


披露:我是一名员工

就列名而言,richyen的回答是正确的

然而,PostgreSQL当然可以为
DISTINCT
提供自动完成功能
DISTINCT
是SQL中的保留关键字,不能用作列名,除非用双引号将其引用


DISTINCT
没有自动完成的原因是还没有人实现它。

这意味着也没有人从
和中为
实现它。这些也应该是保留关键字,但无论是否存在
DISTINCT
,都无法自动完成。感谢您的支持回答。也许。从
和何处猜测
并没有多大用处:它可以是一个别名,比如在
中选择x frob frob FROM y WHERE…
。除此之外,这些都只是四个字母的单词,因此节省的成本很小。想想看,实现起来可能不太有用。但是,自动完成是很舒服的。T谢谢你。