错误:无法识别COPY文件签名 - Postgresql 9.6

时间:2017-02-09 01:23:20

标签: postgresql postgresql-9.6

我使用Postgresql 9.6 COPY BINARY命令转储表

psql -h  $HOSTNAME -U $USERNAME -d $DBNAME  -qAt -c "COPY ( SELECT  co1,col2,col3   FROM tableName) TO STDOUT WITH BINARY" > fileName.dat

使用以下命令恢复

psql  -U $USERNAME  -d $DBNAME  -qAt -c "COPY BINARY tableName(col1,col2,col3) FROM 'fileName.dat'"

我收到以下错误。 错误:无法识别COPY文件签名。

这曾经在Postgresql 9.4中正常工作,我错过了什么。

1 个答案:

答案 0 :(得分:1)

发现问题。 我有./~psqlrc文件,所以每次psql命令用来运行它时都用来将psqlrc输出预先添加到生成的.dat文件中,因为恢复错误的时候会说。 错误:无法识别COPY文件签名 所以使用-X选项最终解决了我的问题。

转储命令:

psql -h  $HOSTNAME -U $USERNAME -d $DBNAME  -XqAt -c "COPY ( SELECT  co1,col2,col3   FROM tableName) TO STDOUT WITH BINARY" > fileName.dat

恢复命令

  psql  -U $USERNAME  -d $DBNAME  -qAt -c "COPY BINARY tableName(col1,col2,col3) FROM 'fileName.dat'"