外部SQL書式設定ユーティリティを追加しようとしています。管理者グループ。
pgAdmin3には次のオプションがありますPreferences -> Query tool -> Query editor
。external formatting utility
Pythonツールを設定しました。SQLの解析。というコマンドラインユーティリティがありますsqlformat
。pgAdmin3stdin
受け入れてsqlformat --help
話すには外部フォーマットユーティリティが必要です。
標準入力から読み込むには、「-」をファイルとして使用します。
私が書くとき:
sqlformat -
...外部フォーマットユーティリティでエラーが発生します。
execvp(sqlformat, -) failed with error 2!
次のシェルスクリプトでパッケージ化しようとすると:
#!/bin/bash
sqlformat --reindent --keywords upper --identifiers lower -
...エラーが発生しました。
line 2: sqlformat: command not found
それでも私のシェルスクリプトは直接呼び出すとうまくいきます。
cat in.sql | ~/sqlformat.sh > out.sql
どうすれば修正できますか?
答え1
sqlformat
まだ直接電話する方法がわかりません。管理者グループsqlformat
シェルスクリプトから呼び出すときになぜ使用できないのですか?管理者グループしかし、解決策を見つけました。
次のコマンドを使用して、ユーティリティのフルパスを見つけます。
type -a sqlformat
シェルスクリプトでユーティリティパスを置き換えます。
#!/bin/bash
/usr/local/bin/sqlformat --reindent --keywords upper --identifiers lower -
このシェルスクリプト管理者グループ
答え2
スクリプトは必要なく、「外部フォーマットユーティリティ」フィールドに追加するだけです。
sqlformat --reindent --keywords upper --identifiers lower -
これは私にとって効果的です。