我在 CentOS 7 上使用 Postgres 14。我想从 bash 脚本运行复制命令。我首先尝试在命令行上运行命令
$ PGPASSWORD=$DB_PASS psql -U $DB_USER -d $DB_NAME -c 'COPY myapp_currencyprice to STDOUT WITH (DELIMITER ",", FORMAT CSV, HEADER) \g /tmp/prices.csv'
ERROR: syntax error at or near "\"
LINE 1: ...o STDOUT WITH (DELIMITER ",", FORMAT CSV, HEADER) \g /tmp/pr...
逃避分隔符的正确方法是什么?我试过改变我的单引号和双引号,但无济于事。
psql的
-c
选项不支持混合使用 SQL 命令和元命令。并且由于这是\g
可以合理使用的唯一方法,\g
因此不支持该方法-c
不过,也不乏其他选择。