2

私は psql コマンド \copy を使用しており、クエリをスクリプト化するときに行ったように、変数をシェルから (テーブル名用に) 渡したいと考えています。ドキュメントで次のことを読みました。

コマンドの構文は、SQL COPY コマンドの構文に似ています。このため、特別な解析規則が \copy コマンドに適用されることに注意してください。特に、変数置換規則とバックスラッシュ エスケープは適用されません。

これは非常に決定的なようですが、誰かが回避策を知っているかどうか疑問に思っていますか?

4

2 に答える 2

3

ヒアドキュメント構文でシェル変数置換を使用できます。例:

#!/bin/sh
tablename=foo
psql -d test <<EOF
\copy $tablename FROM '/path/to/file'
EOF
于 2013-02-04T16:48:08.553 に答える