答案 0 :(得分:0)
无论如何,现在我有comment on the PostgreSQL mailing list。
为什么世界上你认为这是一件好事?
单用户模式是一种几乎没有记录的灾难恢复辅助工具。它的 不适合日常活动。有一个整批的行为 你希望在单用户模式下关闭它。
这不起作用的具体原因是这一点 heap_create_with_catalog:
/*
* Decide whether to create an array type over the relation's rowtype. We
* do not create any array types for system catalogs (ie, those made
* during initdb). We do not create them where the use of a relation as
* such is an implementation detail: toast tables, sequences and indexes.
*/
if (IsUnderPostmaster && (relkind == RELKIND_RELATION ||
relkind == RELKIND_VIEW ||
relkind == RELKIND_MATVIEW ||
relkind == RELKIND_FOREIGN_TABLE ||
relkind == RELKIND_COMPOSITE_TYPE))
new_array_oid = AssignTypeArrayOid();
我们可能会开发一些其他机制来检测是否 我们在initdb序列中,但我不能非常兴奋 将此视为一个错误。单用户模式尚未被考虑为 自90年代初以来的标准用户环境。