私はbashシェルスクリプトを持っています。データベースからいくつかの行のデータをキャプチャした psql copy コマンドがあります。データベースからのデータは、bash スクリプトで使用する実際の SQL ステートメントです。ステートメントはさまざまな長さであり、特定のステートメントを動的に呼び出すことができるようにしたいので、ステートメントをデータベースに入れます。
1) copy ステートメントで使用する区切り文字がわかりません。コンマやパイプは、データベースからのデータに含まれているため使用できません。それらはデータベースにないため、いくつかのランダムな文字を試しましたが、コピーには適合し、ASCII文字は1つしか必要ありません。
また、複雑にするために、各行の query_name と query_string を取得する必要があります。
これは私が現在持っているものです。コピーですべてのデータを正常に取得できますが、後でループできるように、データを配列にプッシュしたいだけです。
q="copy (select query_name,query_string from query where active=1)
to stdout delimiter ','"
statements=$(psql -d ${db_name} -c "${q}")
statements_split=(`echo ${statements//,/ }`)
echo ${statements_split[0]};