带有日志重定向的 Postgres 复制命令
Postgres Copy command with Log redirection
我正在使用 Postgres 复制实用程序将数据从 CSV 文件加载到 Postgres table。当前正在使用以下命令
psql -h 127.0.0.1 -d target -U postgres -c "\copy TableName FROM 'E:\Dev\XXX_1_0.csv' delimiter '^'" -o E:/Dev/XXX.log
当数据出现问题时,错误信息不会在日志文件中更新。
而当没有错误时,我的日志文件会更新加载的行数。例如 (COPY 25)
我试图从命令提示符执行上述命令,但报告了以下错误。
让我知道如何获取错误信息或将错误重定向到日志文件以供参考。
ERROR: value too long for type character varying(255)
CONTEXT: COPY TableName, line 2, column Name: "NickName..."
我不知道在 psql 中直接重定向错误输出的方法。你可以让你的 shell 为你做这件事。
这可以将 stdout 和 stderr 合并到一个名为“log”的文件中。它适用于 bash 和 Windows CMD:
psql -c "whatever" > log 2>&1
我正在使用 Postgres 复制实用程序将数据从 CSV 文件加载到 Postgres table。当前正在使用以下命令
psql -h 127.0.0.1 -d target -U postgres -c "\copy TableName FROM 'E:\Dev\XXX_1_0.csv' delimiter '^'" -o E:/Dev/XXX.log
当数据出现问题时,错误信息不会在日志文件中更新。 而当没有错误时,我的日志文件会更新加载的行数。例如 (COPY 25)
我试图从命令提示符执行上述命令,但报告了以下错误。 让我知道如何获取错误信息或将错误重定向到日志文件以供参考。
ERROR: value too long for type character varying(255)
CONTEXT: COPY TableName, line 2, column Name: "NickName..."
我不知道在 psql 中直接重定向错误输出的方法。你可以让你的 shell 为你做这件事。
这可以将 stdout 和 stderr 合并到一个名为“log”的文件中。它适用于 bash 和 Windows CMD:
psql -c "whatever" > log 2>&1