From: | Steve White <swhite(at)aip(dot)de> |
---|---|
To: | Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: How best to load modules? |
Date: | 2011-01-28 13:55:51 |
Message-ID: | 20110128135551.GA13292@cashmere.aip.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi Dimitri!
PGXS is interesting, but a bigger solution than I was looking for:
ideally, some simple commands for loading the module from my .sql script.
pg_config seems to be in yet another package, postgresql84-devel. It is a
shell utility for getting such information. This is again far removed from
the postgresql session, and more bother for the user to install.
Maybe I could run it from the script, regex it for the SHAREDIR key, and
construct from that '$SHAREDIR/contrib'.
A simple variable or function returning the library path would have
solved my present problem. Perhaps we should make a feature request.
A proper notion of a module (something like the Python import command)
would be really nice, of course, and should already have been there a long
time ago, and it seems to be the aim of the Module_Manager proposal.
Cheers!
On 28.01.11, Dimitri Fontaine wrote:
> Steve White <swhite(at)aip(dot)de> writes:
> > What are best practices regarding the loading of postgresql modules, say
> > from the contrib/ directory; specifically, with regard to portability?
> >
> > I would like to distribute an SQL script which loads a module, and works
> > with as little further fiddling as possible.
>
> See about PGXS.
>
> http://www.postgresql.org/docs/9.0/static/xfunc-c.html#XFUNC-C-PGXS
>
> > known options
> > =============
> >
> > Within a session, or in a script, one can use
> > \i <explicit file path>
> > But within a script this has the weakness that the file path varies from
> > one system distribution to another.
> >
> > One can start psql with
> > psql ... -f <explicit file path>
> > but that's a measure taken outside the script, to done either with session,
> > or else be done by a further measure such as a shell script.
> >
> > Ideally, the location of the default modules directory (or installation
> > directory) should be available within a session in some variable or from
> > some function call.
>
> You can use pg_config to get this PATH, and in recent versions of
> PostgreSQL you can use $libdir as the module directory name.
>
> select name, setting from pg_settings where name ~ 'dynamic_library_path';
>
> > There has been talk about a bigger solution on
> > http://wiki.postgresql.org/wiki/Module_Manager
> > but little seems to have happened there in some years.
>
> It seemed stalled for a long time because the harder part of this
> development was to get an agreement among hackers about what to develop
> exactly. We've been slowly reaching that between developer meetings in
> 2009 and 2010, and the result should hit the official source tree before
> the next developer meeting in 2011 :)
>
> https://commitfest.postgresql.org/action/patch_view?id=471
> https://commitfest.postgresql.org/action/patch_view?id=472
>
> If you want to see more details about the expected-to-be-commited-soon
> development work, have a look there:
>
> http://pgsql.tapoueh.org/extensions/doc/html/extend-extension.html
>
> If you have enough time and interest into the feature, you can even
> clone the git repository where the development occurs (branches named
> "extension" and "upgrade") and try it for yourself, then maybe send a
> mail about your findings (we call that a review):
>
> http://git.postgresql.org/gitweb?p=postgresql-extension.git;a=summary
> http://wiki.postgresql.org/wiki/Reviewing_a_Patch
>
> Regards,
> --
> Dimitri Fontaine
> http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
>
--
| - - - - - - - - - - - - - - - - - - - - - - - - -
| Steve White +49(331)7499-202
| E-Science Zi. 27 Villa Turbulenz
| - - - - - - - - - - - - - - - - - - - - - - - - -
| Astrophysikalisches Institut Potsdam (AIP)
| An der Sternwarte 16, D-14482 Potsdam
|
| Vorstand: Prof. Dr. Matthias Steinmetz, Peter A. Stolz
|
| Stiftung privaten Rechts, Stiftungsverzeichnis Brandenburg: III/7-71-026
| - - - - - - - - - - - - - - - - - - - - - - - - -
From | Date | Subject | |
---|---|---|---|
Next Message | Kenneth Buckler | 2011-01-28 14:49:53 | Re: Adding ddl audit trigger |
Previous Message | rsmogura | 2011-01-28 13:47:59 | Re: Store base64 in database. Use bytea or text? |