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

问题描述:

我使用PostgreSQL 9.6 COPY BINARY命令来转储表错误:无法识别COPY文件签名 - PostgreSQL的9.6

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中正常工作,我错过了什么。

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

dump命令:

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

restore命令

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