☰
格式化SQL工具pg_prettify
2026/10/24 8:10:53 网站建设 项目流程

pg_prettify命令行工具,用于格式化(美化)SQL 查询语句。以下是内容总结:


一、工具背景

  • 作者在一个月前开发了一个 SQL 查询“美化器”(pretty-printer)。
  • 本次为其添加了命令行界面,方便日常使用。

二、工具信息

  • 名称:pg_prettify
  • 仓库地址:shell_utils repo(GitLab)

三、使用示例

1. 原始 SQL(未格式化):
SELECTn.nspnameas"Schema",p.pronameas"Name",pg_catalog.pg_get_function_result(p.oid)as"Result data type",pg_catalog.pg_get_function_arguments(p.oid)as"Argument data types",CASEp.prokindWHEN'a'THEN'agg'WHEN'w'THEN'window'WHEN'p'THEN'proc'ELSE'func'ENDas"Type"FROMpg_catalog.pg_proc pLEFTJOINpg_catalog.pg_namespace nONn.oid=p.pronamespaceWHEREpg_catalog.pg_function_is_visible(p.oid)ANDn.nspname<>'pg_catalog'ANDn.nspname<>'information_schema'ORDERBY1,2,4;
2. 使用pg_prettify格式化后:
SELECTn.nspnameAS"Schema",p.pronameAS"Name",pg_catalog.pg_get_function_result(p.oid)AS"Result data type",pg_catalog.pg_get_function_arguments(p.oid)AS"Argument data types",CASEp.prokindWHEN'a'THEN'agg'WHEN'w'THEN'window'WHEN'p'THEN'proc'ELSE'func'ENDAS"Type"FROMpg_catalog.pg_procASpLEFTJOINpg_catalog.pg_namespaceASnONn.oid=p.pronamespaceWHEREpg_catalog.pg_function_is_visible(p.oid)ANDn.nspname<>'pg_catalog'ANDn.nspname<>'information_schema'ORDERBY1,2,4;-- Formatted by Pg::SQL::PrettyPrinter

四、命令行选项

$ pg_prettify -h Syntax: pg_prettify[-s][-u URL][-p PARAM_NAME]<input.file or pg_prettify[-s][-u URL][-p PARAM_NAME]input.file Options: -s - 移除格式化工具的注释(即不显示“Formatted by...”) -u - 指定美化服务的URL,默认为 https://paste.depesz.com/prettify -p - 指定HTTP参数名称,默认为 q

五、总结

该工具能够将杂乱或压缩的 SQL 语句自动格式化为结构清晰、易读的样式,支持通过命令行直接使用或配合文件输入,并提供了简单的自定义选项。适用于需要频繁查看或分享 SQL 代码的开发者和数据库管理员。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询