warrior2031@mail.ru writes:
> [ Can't create postgis extension in single-user mode ]
Why in the world would you think that's a good thing to do?
Single-user mode is a barely-documented disaster recovery aid.
It's not meant for routine activity. There are a *whole lot*
of behaviors you want that are turned off in single-user mode.
The specific reason why this doesn't work is this bit in
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();
We could possibly develop some other mechanism for detecting whether
we're within the initdb sequence, but I can't get very excited about
treating this as a bug. Single-user mode hasn't been considered a
standard user environment since maybe the early 90s.
regards, tom lane