Thread: CREATE EXTENSION: documenting prereqs

CREATE EXTENSION: documenting prereqs

From
Josh Kupershmidt
Date:
Hi all,

I think users of 9.1 will be interested in quickly seeing what
extensions are all about. Looking at the CREATE EXTENSION page[2],
there's a brief example showing the command:
|  CREATE EXTENSION hstore;

When I try this, I see something like:
|   ERROR:  could not open extension control file
"/Users/josh/runtime/share/postgresql/extension/hstore.control": No
such file or directory

Well, obviously I need to go into ./contrib/hstore/ and run make &&
make install (or install the appropriate -contrib package if I were
using a packaged build of Postgres). I think it'd be nice to give
users some hint about this prerequisite. Appendix F [1] discusses
this, but there's currently no link from [2] to [1]. The way the
CREATE EXTENSION page reads right now, I could forgive a new user
thinking he shouldn't need to install any dependencies.

A complementary approach would be to add an errhint to the "could not
open extension control file..." error suggesting that the user install
the contrib package himself, though I'm not sure offhand about the
wording, especially since a user might be trying to install
who-knows-what extension.

A possible patch for the CREATE EXTENSION page is attached.

Josh

--
[1] http://developer.postgresql.org/pgdocs/postgres/contrib.html
[2] http://developer.postgresql.org/pgdocs/postgres/sql-createextension.html

Attachment

Re: CREATE EXTENSION: documenting prereqs

From
Tom Lane
Date:
Josh Kupershmidt <schmiddy@gmail.com> writes:
> Well, obviously I need to go into ./contrib/hstore/ and run make &&
> make install (or install the appropriate -contrib package if I were
> using a packaged build of Postgres). I think it'd be nice to give
> users some hint about this prerequisite. Appendix F [1] discusses
> this, but there's currently no link from [2] to [1]. The way the
> CREATE EXTENSION page reads right now, I could forgive a new user
> thinking he shouldn't need to install any dependencies.

On reflection there are a couple other cross-references that would
be useful here, too.  I've committed a modified version of this.

> A complementary approach would be to add an errhint to the "could not
> open extension control file..." error suggesting that the user install
> the contrib package himself, though I'm not sure offhand about the
> wording, especially since a user might be trying to install
> who-knows-what extension.

Yeah, I'm not sure how to do anything useful in one-or-so-lines there.

            regards, tom lane

Re: CREATE EXTENSION: documenting prereqs

From
Josh Kupershmidt
Date:
On Wed, Apr 13, 2011 at 3:00 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> On reflection there are a couple other cross-references that would
> be useful here, too.  I've committed a modified version of this.

Thanks, that looks much improved.

Josh