news 2026/4/23 13:19:33

格式化SQL工具pg_prettify

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
格式化SQL工具pg_prettify

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 代码的开发者和数据库管理员。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 22:40:14

MySQL如何执行.sql 文件:详细教学指南

在使用MySQL数据库过程中&#xff0c;我们经常需要执行包含SQL语句的.sql文件。这些文件通常用于数据库的备份和恢复或批量执行SQL脚本。本文将详细介绍如何在不同环境下执行MySQL的.sql文件。 前置准备 在开始之前&#xff0c;请确保以下条件已经满足&#xff1a; 已经安装并配…

作者头像 李华
网站建设 2026/4/23 13:10:09

运维胡乱转行的,能骂醒一个算一个!

心得体会 来谈下我这一年来从运维转型信息安全领域的理解和体会吧。 我现在在一家汽车企业的IT部门做运维工程&#xff08;不是IT安全公司&#xff0c;但主要也是负责安全防护&#xff09;&#xff0c;接触的大多是深信服设备&#xff0c;所以说是做网络安全的工作也说的通。我…

作者头像 李华
网站建设 2026/4/20 22:42:44

MySQL中replace into详解、批量更新、不存在插入存在则更新、replace into的坑

文章目录 一、replace into原理二、replace into的三种形式三、replace into 使用案例 3.1、replace into values 3.1.1、只有主键且主键冲突3.1.2、有主键有唯一索引且主键冲突3.1.3、有主键有唯一索引且唯一索引冲突(有坑)3.1.4、有主键有唯一索引且与一条主键冲突与另一条唯…

作者头像 李华
网站建设 2026/4/23 13:12:45

不买量也能爆?虎牙发行《鹅鸭杀》破圈真相

据财经网的报道&#xff0c;由虎牙与金山世游联合发行的《鹅鸭杀》手游于1月7日正式公测开服&#xff0c;公测上线仅24小时新增注册用户破500万&#xff0c;并登顶iOS免费榜&#xff0c;随后占据多家商店平台游戏榜榜首。开服当天&#xff0c;“鹅鸭杀手游公测”“你抢到鹅鸭杀…

作者头像 李华
网站建设 2026/4/23 13:16:12

【必藏】大模型分布式推理完全指南:vLLM单节点与多节点部署实战

文章详解vLLM大模型分布式推理部署方法&#xff0c;包括单GPU、单节点多GPU张量并行、多节点多GPU张量并行与流水线并行三种场景。提供单节点和多节点环境的具体部署命令&#xff0c;介绍multiprocessing和Ray两种分布式运行时配置。通过实例展示参数设置及多节点环境配置&…

作者头像 李华
网站建设 2026/4/20 14:53:38

交通仿真软件:Aimsun_(15).交通事件管理

交通事件管理 交通事件管理是交通仿真中的一个重要模块&#xff0c;它涉及如何在仿真过程中处理各种交通事件&#xff0c;如交通事故、道路施工、交通信号故障等。这些事件对交通流的影响是显著的&#xff0c;因此在仿真中正确地管理这些事件可以提高仿真的真实性和准确性。本节…

作者头像 李华