psql命令行工具与可视化pgAdmin 如何格式化代码

作者: 张文升

日期: 2016-11-17


工欲善其事,必先利其器。对开发者来说,有个好的IDE可以事半功倍。 

今天开发有个同学问我pgAdmin III有没有办法?先给出答案:pgAdmin III是可以格式化代码的!

下载安装pgFormatter

pgFormatter开源免费,不需要安装即可使用

git clone https://github.com/darold/pgFormatter.git 

移动到适当的位置就可以使用了,我是放在/opt目录中。

pgAdmin III 格式化SQL代码

配置pgAdmin III

打开Perference -> Query tool对话窗; 

如下图所示,在Extenal formatting utlity输入pgformat可执行文件的位置,点OK确认; 

使用方法

1.快捷键:COMMAND + SHIFT + F

2.Edit -> Format -> Extenal Format

格式化效果


命令行格式化SQL代码

查看帮助获得详细的参数信息

/opt/pgformat/pg_format --help

参数说明

-读取标准输入; 

-d是否debug模式,缺省值否; 

-m设置query的最大长度,超过设定值截断,缺省值不截断; 

-o格式化后的结果输出到文件,缺省值输出到标准输出; 

-s设置空格数 

-u关键字大小写形式,值可以为0、1、2、3这四个值,0标示不改变,1转换为小写,2转换为大写,3转换为首字母大写;缺省值为0,不转换大小写。

举个栗子

这是未经过格式化的代码

[winston@bogon ~]$ cat /tmp/unformatted_sql.txt
-- comment line
WITH history AS (SELECT employee_id FROM job_history 
WHERE job_id = 'ST_CLERK' AND department_id = 50) 
SELECT * FROM employees WHERE employee_id IN (SELECT 
employee_id FROM history) AND department_id = 30;

要求格式化为关键字小写,去掉注释,1个tabl等于4个空格

[winston@bogon ~]$ /opt/pgformat/pg_format -n -s 4 -u 1 /tmp/unformatted_sql.txt
with history as (
    select
        employee_id
    from
        job_history
    where
        job_id = 'ST_CLERK'
        and department_id = 50 )
select
    *
from
    employees
where
    employee_id in (
        select
            employee_id
        from
            history )
    and department_id = 30;

在线工具

http://sqlformat.darold.net
请在登录后发表评论,否则无法保存。
1楼 xcvxcvsdf
2025-01-02 01:08:00+08

https://jiuzhen.tiancebbs.cn/ http://huilong.sctcbmw.cn/dgsj/ http://ty.cqtcxxw.cn/hulunbeier/ http://km.lstcxxw.cn/wuhai/ http://js.sytcxxw.cn/jjth/ http://ouyu.hftcbmw.cn/gdgz/ http://ouyu.hftcbmw.cn/twjy/ https://honglan.tiancebbs.cn/hulunbeier/ http://taiying.njtcbmw.cn/qingyang/ http://tuiguang.hntcxxw.cn/xbs/ https://wangcungangzhen.tiancebbs.cn/ http://taiying.njtcbmw.cn/ezhou/ http://nalei.zjtcbmw.cn/nxgy/ http://fuyang.tjtcbmw.cn/shuozhou/ http://ouyu.hftcbmw.cn/ckx/ http://ouyu.hftcbmw.cn/dgyf/ http://gx.lztcxxw.cn/panjin/

2楼 xcvxcvsdf
2024-10-27 01:00:55+08

https://www.tiancebbs.cn/ershoufang/468346.html https://zulin.tiancebbs.cn/sh/3359.html https://changshushi.tiancebbs.cn/hjzl/460174.html https://taicang.tiancebbs.cn/hjzl/458233.html https://aihuishou.tiancebbs.cn/sh/508.html https://changshushi.tiancebbs.cn/hjzl/461479.html https://zulin.tiancebbs.cn/sh/3433.html https://www.tiancebbs.cn/qtfwxx/473265.html https://www.tiancebbs.cn/ershoufang/467854.html https://su.tiancebbs.cn/hjzl/469223.html https://zulin.tiancebbs.cn/sh/4348.html https://aihuishou.tiancebbs.cn/sh/1428.html https://aihuishou.tiancebbs.cn/sh/1909.html https://sz.tiancebbs.cn/qitaqiugouxinxi/229374.html https://aihuishou.tiancebbs.cn/sh/3577.html https://zulin.tiancebbs.cn/sh/271.html https://changshushi.tiancebbs.cn/hjzl/460017.html

3楼 xcvxcvsdf
2024-10-25 21:14:12+08

http://shenghuo.china-bbs.com/panzhihua/ http://tuiguang.hntcxxw.cn/hbhsa/ http://ouyu.hftcbmw.cn/jlly/ http://huaguang.jxtcbmw.cn/changningsh/ http://ouyu.hftcbmw.cn/baiyin/ https://huaqiaoguanli.tiancebbs.cn/ http://yz.cqtcxxw.cn/nmgwh/ http://shengshun.njtcbmw.cn/jingdezhen/ http://ly.shtcxxw.cn/benxi/ http://tuiguang.hntcxxw.cn/hnzk/ http://fuyang.tjtcbmw.cn/shenzhen/ http://gx.lztcxxw.cn/sjjzb/ http://fuyang.tjtcbmw.cn/scyb/ http://cf.lstcxxw.cn/jns/ http://jingren.hftcbmw.cn/putuoqu/ http://gx.lztcxxw.cn/shxuhui/ http://gx.lztcxxw.cn/nwgzp/

4楼 xiaowu
2024-04-22 09:29:04+08

享受工作的快乐的感悟:https://www.nanss.com/gongzuo/2400.html 爱岗敬业的文章:https://www.nanss.com/gongzuo/2029.html 海边吹风发朋友圈说说:https://www.nanss.com/wenan/2459.html 吸引人的卖货文案:https://www.nanss.com/wenan/2342.html 我的植物朋友作文:https://www.nanss.com/xuexi/2312.html 感谢大学学校培养的话:https://www.nanss.com/xuexi/1800.html 想宝贝的说说朋友圈:https://www.nanss.com/wenan/1594.html 生了个儿子报喜的幽默信息:https://www.nanss.com/yulu/1987.html 优秀学生申请书:https://www.nanss.com/xuexi/2453.html 关于学习的名言:https://www.nanss.com/xuexi/2500.html 5字网名:https://www.nanss.com/mingcheng/1825.html 奉献的名言:https://www.nanss.com/yulu/2169.html 叫女朋友起床的暖心话:https://www.nanss.com/wenan/2396.html 写人的作文600字:https://www.nanss.com/xuexi/2069.html 土味情话:https://www.nanss.com/yulu/2492.html 小王子读后感:https://www.nanss.com/xuexi/2130.html 反腐倡廉心得体会:https://www.nanss.com/gongzuo/2309.html 关于母爱的作文:https://www.nanss.com/xuexi/2255.html 女婴儿降生的温馨句子:https://www.nanss.com/yulu/2232.html 奋斗励志的句子:https://www.nanss.com/yulu/2502.html 又梦见你了的伤感句子:https://www.nanss.com/yulu/1682.html 感恩演讲稿:https://www.nanss.com/xuexi/2367.html 东北话方言句子:https://www.nanss.com/yulu/1645.html 谢谢老公陪自己过生日的句子:https://www.nanss.com/yulu/2398.html 给哥哥的备注:https://www.nanss.com/mingcheng/2077.html 王者昵称骚:https://www.nanss.com/mingcheng/2039.html 财务工作计划:https://www.nanss.com/gongzuo/2300.html 情商高的聊天语句:https://www.nanss.com/shenghuo/2245.html 团队精神正能量的口号八个字:https://www.nanss.com/gongzuo/2391.html 祝高考顺利的话简短:https://www.nanss.com/xuexi/2114.html

5楼 liking
2022-02-18 11:24:05+08

谢谢分享

© 2010 PostgreSQL中文社区