<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/procedural-languages/</id><title>Procedural Languages</title><updated>2010-10-21T20:43:00Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/procedural-languages/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/procedural-languages/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/1368261274</id><title type="html">Reserved Extensions</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2010/reserved-extensions/"/><updated>2026-10-07T16:13:48Z</updated><published>2010-10-21T20:43:00Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="reserved-words" label="Reserved Words"/><category scheme="https://blog.pgxn.org/tags" term="reserved-extensions" label="Reserved Extensions"/><category scheme="https://blog.pgxn.org/tags" term="extensions" label="Extensions"/><category scheme="https://blog.pgxn.org/tags" term="postgresql" label="PostgreSQL"/><category scheme="https://blog.pgxn.org/tags" term="procedural-languages" label="Procedural Languages"/><category scheme="https://blog.pgxn.org/tags" term="pl/pgsql" label="PL/pgSQL"/><category scheme="https://blog.pgxn.org/tags" term="pl/perl" label="PL/Perl"/><category scheme="https://blog.pgxn.org/tags" term="contributed-modules" label="Contributed Modules"/><summary type="html"><![CDATA[<p>I&rsquo;m thinking about how to add support for reserved extensions. These are
extensions that one needs to depend on, but aren&rsquo;t distributed via PGXN.
Primarily, this means stuff distributed with the PostgreSQL core, including:</p>
<ul>
<li>PostgreSQL itself</li>
<li>Bundled procedural languages (plpgsql, plperl, etc.)</li>
<li>All <a href="https://www.postgresql.org/docs/current/static/contrib.html">contributed modules</a></li>
</ul>
<p>Basically, anything that an extension might want to declare as a dependency,
but that isn&rsquo;t on PGXN itself.</p>
<p>There are a number of ways to do this. Which do you think would be the best
approach?</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>I&rsquo;m thinking about how to add support for reserved extensions. These are
extensions that one needs to depend on, but aren&rsquo;t distributed via PGXN.
Primarily, this means stuff distributed with the PostgreSQL core, including:</p>
<ul>
<li>PostgreSQL itself</li>
<li>Bundled procedural languages (plpgsql, plperl, etc.)</li>
<li>All <a href="https://www.postgresql.org/docs/current/static/contrib.html">contributed modules</a></li>
</ul>
<p>Basically, anything that an extension might want to declare as a dependency,
but that isn&rsquo;t on PGXN itself.</p>
<p>There are a number of ways to do this. Which do you think would be the best
approach?</p>
<ol>
<li>Hard-code a list into the source code</li>
<li>Include an editable list in the runtime configuration file</li>
<li>Add a database table reserved for them and an API to edit it</li>
<li>Create a &ldquo;pgdev&rdquo; user and upload a distribution declaring all those
extensions in a <code>META.json</code> file</li>
<li>Same as 4, but actually upload the PostgreSQL source</li>
</ol>
<p>I&rsquo;m leaning towards #2, perhaps having it automatically maintain a list in the
database and a metadata file on the mirrors.</p>
<p>But what do you think? Opinions wanted!</p>
]]></content></entry></feed>