\ COPY无法在psql中打印计数

时间:2019-02-20 11:27:09

标签: postgresql csv import sh psql

我正在尝试将CS​​V数据复制到表中。我也想打印计数。
我正在使用的命令是:

echo "begin; delete from a; \copy a from a.csv CSV HEADER; end;" | psql -hlocalhost -dpostgres -Upostgres

预期输出:

BEGIN
DELETE 2
COPY 2
COMMIT

实际输出:

BEGIN
DELETE 2
COMMIT

关于我在这里缺少什么的任何想法?

1 个答案:

答案 0 :(得分:0)

避免引用和转义麻烦的最好方法是使用HERE-document


#!/bin/sh

psql -hlocalhost -d postgres -U postgres << OMG
begin;
 SET search_path = tmp;
 delete from a;
 \copy a from 'a.csv' CSV HEADER;
end;
OMG