如何将 sqlformat 工具与 pgAdmin 一起使用

如何将 sqlformat 工具与 pgAdmin 一起使用

我正在尝试添加外部 SQL 格式化实用程序管理员组

pgAdmin3 中有一个可用的选项,Preferences -> Query tool -> Query editor名为external formatting utility

我设置了python工具sql解析。它有一个名为 的命令行实用程序sqlformatpgAdmin3需要外部格式化实用程序接受stdinsqlformat --help

使用“-”作为文件从标准输入读取。

当我写的时候:

sqlformat -

...作为外部格式化实用程序我收到错误

execvp(sqlformat, -) failed with error 2!

当我尝试将它包装在 shell 脚本中时,如下所示:

#!/bin/bash
sqlformat --reindent --keywords upper --identifiers lower -

...我收到错误

line 2: sqlformat: command not found

尽管如此,当我直接调用它时,我的 shell 脚本仍然有效:

cat in.sql | ~/sqlformat.sh > out.sql

如何修复它?

答案1

我仍然不知道如何sqlformat直接调用管理员组为什么sqlformat在 shell 脚本中调用时不可用管理员组,但我已经找到了解决方案。

使用以下命令查找实用程序的完整路径:

type -a sqlformat

替换 shell 脚本中实用程序的路径:

#!/bin/bash
/usr/local/bin/sqlformat --reindent --keywords upper --identifiers lower -

并将这个 shell 脚本传递到管理员组

答案2

您不需要脚本,只需添加到“外部格式化实用程序”字段即可:

sqlformat --reindent --keywords upper --identifiers lower -

这对我有用。

相关内容