今天尝试恢复自定义转储文件时,我在 Windows server 2019 机器上遇到了一个奇怪的 PostgreSQL ( v.13.8 )。
以下命令有效:
pg_restore -d postgres://postgres@localhost:5432/postgres --no-owner --no-privileges --create --clean --role=<myuser> --if-exists inputfile.backup 2> inputfile.log
但只需将--single-transaction
选项添加到命令行,就会引发错误:
pg_restore -d postgres://postgres@localhost:5432/postgres --no-owner --no-privileges --single-transaction --create --clean --role=<myuser> --if-exists inputfile.backup 2> inputfile.log
但我可以在日志文件中阅读:
pg_restore: error : options « -c/--clean » and « -a/--data-only » cannot be used together.
我什至没有使用-a
旗帜……这很奇怪,不是吗?
我已经阅读了pg_restore doc,尤其是关于--single-transaction
选项的段落,但它并没有说太多,(例如关于潜在的隐式-a
标志):
--单笔交易
将还原作为单个事务执行(即将发出的命令包装在 BEGIN/COMMIT 中)。这可确保所有命令都成功完成,或者不应用任何更改。此选项意味着 --exit-on-error。
任何人都可以告诉我使用此选项时到底发生了什么?
我不知道您如何获得要使用的不同语言消息。
但是法文翻译文件src/bin/pg_dump/po/fr.po有一个明显的复制粘贴错误:
错误报告。