Bruce Momjian wrote:
Joshua D. Drake wrote:
This seems like a good first step in growing a packaging
infrastructure. I'd rather grow it organically than try to design it
all up front.
I am in Denver and have spotty inet access so forgive me. So where does
this above leave us? What are we doing?
I was kind of unclear on that too. It seems we are trying to address
several issues: visibility of contrib, installation of contrib, etc.
We discussed whether we put the functions in public, a schema for all
contrib, or a schema for each contrib module, and then there was the
discussion of how to configure someone using ten /contrib modules, or at
least wanting them all to be accessible.
And then there was the idea of allowing schema permissions to control
access, so perhaps we could install more of /contrib by default, and
allow the administrator to just enable/disable them via permissions.
Personally, I think that might be the best approach because it allows us
to eliminate the install process, but doesn't make the database less
secure --- the administrator enables/disables them at runtime, or at
The issues I see are:
1. the 'thing" name - the only name I have not seen some objection to is
2. namespace - I think the consensus is tending towards one or more per
3. install/uninstall support: Tom's proposal for an extension->schema
map in the catalog will deal with that nicely, I think.
4. visibility/searchpath issues. I don't think long search paths are a
huge issue, but I think we can make life a bit easier by tweaking
searchpath support a bit (David's clever SQL notwithstanding).
5. legacy support - we need an option to load existing extensions to the
public schema as now, or support for aliases/synonyms (the latter might
be good to have regardless).
6. they all need proper docs. READMEs and the like are nowhere near good
Richard mentioned special testing requirements, but I don't see why we
can't continue to use our standard regression mechanism.
Mention has also been made of autoloading extensions with initdb. A case
could perhaps be made for doing it in createdb - maybe not every db
needs ltree, say. OTOH, if it's sitting quietly in its own schema than
it's probably not doing any harm either, so maybe initdb should just
load all the extensions it finds, and as you say make one less hoop to
make people jump through. If we do that I think at least we'd need an
option to inhibit autoloading.
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?