Postgresql 自动完成?

问题描述 投票:0回答:6

有没有为 PostgreSQL 提供自动补全功能的东西? 我正在寻找类似于 RedGate 的 SQLPrompt 的东西。 目前使用 pgAdmin III 的查询工具,但愿意考虑其他查询编辑器。

postgresql autocomplete
6个回答
14
投票

psql 有它。我在服务器版本 8.2.6 上使用版本 8.2.7


7
投票

您可能喜欢 pgcli,它提供了连接完成和其他不错的功能。然而,它缺少一些像

\*
这样的
\dF...
助手。

cave> \d appellation
+-----------+---------+-----------------------------------------------------------+
| Column    | Type    | Modifiers                                                 |
|-----------+---------+-----------------------------------------------------------|
| id        | integer |  not null default nextval('appellation_id_seq'::regclass) |
| libelle   | text    |  not null                                                 |
| region_id | integer |                                                           |
+-----------+---------+-----------------------------------------------------------+
Indexes:
    "appellation_pkey" PRIMARY KEY, btree (id)
    "appellation_libelle_key" UNIQUE CONSTRAINT, btree (libelle)
Foreign-key constraints:
    "appellation_region_id_fkey" FOREIGN KEY (region_id) REFERENCES region(id) ON DELETE CASCADE
Referenced by:
    TABLE "vin" CONSTRAINT "vin_appellation_id_fkey" FOREIGN KEY (appellation_id) REFERENCES appellation(id) ON DELETE CASCADE

Time: 0.006s
cave> SELECT * FROM appellation JOIN  _
                                      region ON region.id = appellation.region_id     join      
                                      vin ON vin.appellation_id = appellation.id      join      

在此示例中,提出了与外键相对应的两个连接。


5
投票

简单回答如下:

我花了很长时间尝试让 tab-complete 在 psql 客户端和 SQL shell (psql) 客户端上工作。这就是你要做的。

停止尝试并使用此处找到的客户端:pgcli

我使用 pip 安装,使用

>pgcli -Upostgres
打开客户端,并输入与安装 Postgresql 时创建的相同密码。制表符补全功能有效,我可以开始了。


1
投票

NetBeans 对自动完成的支持令人惊叹。恕我直言,比基本的 psql 好得多。它理解表别名,因此您可以执行以下操作:

从用户中选择 * u 加入帖子 p 其中 p.AUTOCOMPLETE

遗憾的是不支持通用表表达式。


0
投票

来自帮助文件:

要使用自动完成功能,请开始输入您的查询;当您希望查询编辑器建议查询中下一个可能出现的对象名称或命令时,请按 Control+Space 组合键。


0
投票

关键字自动补全 对于关键字,只需输入几个字符,然后按 Control + 空格键组合即可。

© www.soinside.com 2019 - 2024. All rights reserved.