来自unix shell outg的Postgres没有出现在Log中

时间:2015-05-20 13:56:31

标签: postgresql shell unix

我第一次为Postgres写了一份批处理工作。我已经返回“.sh”文件,它有一个命令,没有输出日志或控制台。

代码

export PGPASSWORD=<password>
psql -h <host> -p <port> -U <user> -d <database> --file cleardata.sql > log\cleardata.log 2>&1

我在cammond线上做了什么

su postgres

并运行./cleardatasetup.sh

什么都没发生。

请注意:当我在Unix命令行中尝试psql命令时,我收到的消息是一些有效的SQL异常。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

你可能想创建log/cleardata.log,但是你需要一个反斜杠,你需要一个斜杠。您会发现结果是一个名为log\cleardata.log的文件。

反斜杠只是文件名中的常规字符,但它对shell来说是特殊的,所以你需要引用或转义它(明确地)从它操作它壳;

ls -l log\\cleardata.log  # escaped
mv 'log\cleardata.log' log/cleardata.log  # quoted