Re: [HACKERS] "Extension" versus "module"

From: Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>, pgsql-hackers(at)postgresql(dot)org, pgsql-docs(at)postgresql(dot)org
Subject: Re: [HACKERS] "Extension" versus "module"
Date: 2011-02-14 16:17:48
Message-ID: m2wrl2k2tv.fsf@2ndQuadrant.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers

Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Hmm ... but what of contrib "modules" that don't build shared libraries
> at all --- pgbench and pg_upgrade for example?
>
> I think "shared library" is a perfectly fine term for that kind of
> object, and we don't need an alias for it anyway.

In my view, if there's no script, that is no SQL object to install in a
database, then it's not an extension. I would think that we keep the
directory named contrib for them. Then, an extension can be implemented
partly with a module, coded in C, installed as a shared library.

Another concern has to do with PLs. We said that with the dependency
mechanism it would be good to have PLs be EXTENSIONs. But those are
core provided extensions, one of them installed by default.

If we make PLs extensions, we might also want to have CREATE LANGUAGE
either ERROR out or silently do the CREATE EXTENSION instead, meaning
that CREATE LANGUAGE behavior would depend on creating_extension.
Sounds like a crock but ensures compatibility.

Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Tom Lane 2011-02-14 16:32:52 Re: [HACKERS] "Extension" versus "module"
Previous Message Alvaro Herrera 2011-02-14 15:34:56 Re: Building PDFs error: \pdfendlink ended up in different nesting level than \pd

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-02-14 16:27:58 CommitFest 2011-01 as of 2011-02-04
Previous Message Kevin Grittner 2011-02-14 16:16:26 Re: Range Types: empty ranges