18287

Do create extension work in single-user mode in postgres?

I can't create postgis extension in single-user mode in postgres. But I can do that from pgadmin.

Is creating extension in single-user mode even possible? Can find any docs on that.

Full info on my question can be seen there.

Answer1:

Anyway, right now I have a comment on the PostgreSQL mailing list.

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.

Recommend

  • Obtain /common/topic/description in Freebase MQL
  • How to show trailing “%” symbol?
  • Fix Broken Links with Jquery
  • How to move double in %rax into particular qword position on %ymm or %zmm? (Kaby Lake or later)
  • Trying to align the position of div's which are of different sizes, so that there will not be a
  • twitter retweet user id api python
  • high availability singleton processor in Tomcat
  • eVRC smart cards
  • Un-/Install System apps without rooting the device
  • TempDB Log File Growth Using Global Temp Tables
  • How to debug CUDA kernels in Visual studio or Parallel Nsight
  • orient DB: Adding properties to properties
  • Slim PUT returns NULL
  • Prevent users from voting multiple times in Rails
  • How to make jQuery `bind` or `on` event handlers idempotent
  • What is the runtime complexity of Python's deepcopy()?
  • Why VBA goes to error handling code when there is no error?
  • Using Google Api: Speech To Text on PC Version
  • Chef recipe for RoR Heroku
  • Parse an XML fragment stored in a string into nodes in XSLT with SAXON for Java
  • Get all DNS records associated with an IP
  • Modify chart label orientation with XlsxWriter module (Python)
  • Eclipse dark color theme fixes
  • In matplotlib, how do you change the fontsize of a single figure?
  • Set focus to first invalid form element in AngularJS
  • Find group of records that match multiple values
  • Check all values in string[] for length?
  • calculate gradient output for Theta update rule
  • print() is showing quotation marks in results
  • Sails.js/waterline: Executing waterline queries in toJSON function of a model?
  • Getting last autonumber in access
  • Different response to non-authenticated users and AJAX calls
  • C# - Serializing and deserializing static member
  • Is there a amazon webstore API for customers?
  • Incrementing object id automatically JS constructor (static method and variable)
  • Redux, normalised entities and lodash merge
  • R: gsub and capture
  • jqPlot EnhancedLegendRenderer plugin does not toggle series for Pie charts
  • Comma separated Values
  • How to load view controller without button in storyboard?