暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【译】在 Vim 中使用 pgFormatter 格式化 SQL 代码

原创 黎青峰 2022-07-04
1310

原文地址:Formatting SQL code with pgFormatter within Vim
原文作者: Josh Tolley

image.png

Luca Ferrari 最近撰写了一篇关于在 Emacs 中使用 pgFormatter 的文章;在我选择的编辑器 Vim 中,基本上同样的事情也有效,它是我在处理复杂查询时最喜欢的快速提示之一。我不是特别想卷入编辑大战,只是本着对 Vim 用户友好合作的精神提供以下内容。

正如 Luca 所提到的,pgFormatter是一种让 SQL 查询自动可读的便捷方式。给它一些 SQL 很容易,并得到一个漂亮的结果作为输出:

$ pg_format < create_outbreaks.sql
INSERT INTO outbreak                      
SELECT                              
    nextval('outbreak_id'::regclass),
    extract('year' FROM now())::text || '-' || nextval('outbreak_number_seq')::text, --number
    (                        
        SELECT  
            first_name
        FROM person TABLESAMPLE BERNOULLI (10)
LIMIT 1), -- name
    NOW() - interval '1 day' * random() * 100, (
        SELECT
            id
        FROM "user" TABLESAMPLE BERNOULLI (10)
...

在我的完美世界中,我可能会对它的一些格式决定提出质疑,例如LIMIT 1上面一行缺少缩进。但在实践中,结果对我的口味来说已经足够好了,我没有费心去研究我是否可以改进它们。我只是使用它,它对我来说已经足够了。

因为 Vim 让我可以高亮显示一个区域,通过外部程序对其进行管道传输,并将该区域替换为该程序的输出,因此只需选择一段代码并输入:!pg_format如下内容即可轻松使用它:
sample.gif

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论