我正在尝试从文本文件中恢复数据库。我正在关注这个问题的答案。如何恢复纯文本 postgres .backup 文件
但添加:> c:\result.txt
psql.exe -U sde sde < c:\backup\sde_04_06_2018.backup > c:\backup\result.txt
这似乎有效,但没有写入错误。
你会在文本文件中收到这样的消息:
REVOKE
GRANT
SET
ALTER DEFAULT PRIVILEGES
ALTER DEFAULT PRIVILEGES
但是在命令窗口上,您会看到如下错误:
ERROR: constraint "sde_layer_stats_version_id_fkey" for relation sde_layer_stats" already exists
ERROR: constraint "xml_columns_fk1" for relation "sde_xml_columns" already exists
ERROR: constraint "xml_columns_fk2" for relation "sde_xml_columns" already exists
ERROR: constraint "xml_indextags_fk1" for relation "sde_xml_index_tags" already exists
这个想法是将错误保存在文本文件中,以便我可以查看并决定是否需要处理。
如果您问如何将错误也放入“结果文件”,则需要重定向以及
STDERR
或STDOUT
直接STDERR
使用STDOUT
2>&1
在内部,您有三个“标准”流:输入、输出和错误。
input
你把它指向c:\backup\sde_04_06_2018.backup
output
您将输出定向到c:\backup\result.txt
error
。