错误:无法识别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'"