11 postgresで、単一のSQLファイルで複数のSQLファイルを呼び出す方法 たとえば、aaa.sql、bbb.sql、ccc.sqlがあります。 この3つのファイルをxxx.sqlから実行します。 誰でもこれを行う方法を私に提案できますか? postgresql — トリップ ソース
12 これらのファイルを実行しているpsql場合は、\iディレクティブが必要です(「ファイルからコマンドを実行する」)。 xxx.sql: \i aaa.sql \i bbb.sql \i ccc.sql これらを他のプログラムに渡す場合は、ファイルを自分で組み合わせる必要があります。外部ファイルを実行するSQL標準の方法はないと思います。 — voretaq7 ソース 返信してくれてありがとう。達成できたかどうかをテストして確認します — 旅行 まだ機能していないようです何か不足しているのかどうかわかりません。最後にセミコロンが必要ですか??? -あんまり !!! — 旅行 1 「機能していない」よりも具体的にする必要があります- これで機能することを確認します — -psql 動いた。最後に:-) Thankuの問題は-ファイルを認識できず、Oがファイルの相対パスを指定し、その作業が正常に行われたありがとうございました — トリップ @Trip Trip、彼の答えにvoretaqのクレジットを忘れずに! — リチャードT
4 正確には何を求めているかではありませんが、目的を果たします。1)すべてのスクリプトファイルをフォルダーに入れます。2)bashスクリプトを使用してファイルを反復処理し、psqlを実行します。例えば: SCRIPTS_DIR=/home/myproject/scripts DATABASE_NAME=database_name for file in $SCRIPTS_DIR/*.sql do sudo -u postgres psql $DATABASE_NAME -f $file done ファイル名を入力する必要がないため、これは実際には少し優れています。 — メフメット ソース
3 bashシェルでは、シンプルな方法でも実行できます find -exec find sql/ -name *.sql -exec psql -U user -f {} \; — パンチス ソース "*.sql"ではなく使用する必要があります*.sql — Jeel Shah