Contrib Schemas - Mailing list pgsql-hackers

From David Fetter
Subject Contrib Schemas
Date
Msg-id 20060112224603.GA21105@fetter.org
Whole thread Raw
Responses Re: Contrib Schemas  (Mark Kirkwood <markir@paradise.net.nz>)
Re: Contrib Schemas  ("Andrew Dunstan" <andrew@dunslane.net>)
Re: Contrib Schemas  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Folks,

For the same reason they feel that *n*x installs shouldn't be messing
around in /usr/local, some people also feel that contrib modules
shouldn't install in the public schema by default.  Before I go
a-patching, I'd like to see what people think about how to handle
this.  A few of possibilities come to mind:

1.  One schema per contrib module.  In some sense, this is a clean way
to do things because the modules can't step on each other's
namespaces, and it makes it easy to remove a module cleanly.

A downside of this is the increased maintenance overhead of adding
those schemas to search_paths as appropriate, although this might be
worked around by having the install script generate some search_path
modifications that the person installing could choose to run.

2.  One big contrib schema.  This avoids the above search_path
problem, but leaves the namespace collision of putting things in
public.

3.  Name a schema on installation.  This could help people decide
exactly where they want things to go.

I'm picturing something like this:

make install                                      # Option 0  Leave as-is
make install --auto_schema  [--generate_path_mod] # Option 1
make install --schema=contrib                     # Option 2
make install --schema=foo                         # Option 3

What do you think?

Cheers,
D
-- 
David Fetter david@fetter.org http://fetter.org/
phone: +1 415 235 3778

Remember to vote!


pgsql-hackers by date:

Previous
From: Qingqing Zhou
Date:
Subject: Re: Checkpoint question
Next
From: Tom Lane
Date:
Subject: Re: Libpq COPY optimization