Re: How best to load modules?

Поиск
Список
Период
Сортировка
От Dimitri Fontaine
Тема Re: How best to load modules?
Дата
Msg-id m24o8tnqjv.fsf@2ndQuadrant.fr
обсуждение исходный текст
Ответ на How best to load modules?  (Steve White <swhite@aip.de>)
Ответы Re: How best to load modules?
Список pgsql-general
Steve White <swhite@aip.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

В списке pgsql-general по дате отправления:

Предыдущее
От: Jorge Arévalo
Дата:
Сообщение: Re: Executing SQL expression from C-functions
Следующее
От: Michael Kemanetzis
Дата:
Сообщение: Re: Select query ignores index on large table