Re: Extensions, this time with a patch

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>, Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Extensions, this time with a patch
Date: 2010-10-20 22:12:28
Message-ID: m21v7k344z.fsf@2ndQuadrant.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> That is simply a horrid idea. Just make it specify EXTENSION.

And VERSION too. Sorry for previous email, fingers trying to work on
their own at the end of the day...

So, the idea is that $(EXTENSION) is a list of extensions you're
providing from the Makefile (most often, a list of one extension, but
contrib/spi is an exception here). Each extension in the list must have
a corresponding $EXTENSION.control file.

This control file contains at minimum a single line for the name of the
extension, but it's better already with a comment for users. I've been
filling them for our extensions, pasting from the documentation:

http://www.postgresql.org/docs/9/static/contrib.html

dim=# select name, version, installed as i, comment from pg_extensions;
name | version | i | comment
--------------------+----------+---+-------------------------------------------------------------------------
intarray | 9.1devel | f | one-dimensional arrays of integers: functions, operators, index support
adminpack | 9.1devel | f | Administrative functions for PostgreSQL
autoinc | 9.1devel | t | functions for autoincrementing fields
btree_gin | 9.1devel | f | GIN support for common types BTree operators
btree_gist | 9.1devel | t | GiST support for common types BTree operators
chkpass | 9.1devel | f | Store crypt()ed passwords
citext | 9.1devel | t | case-insensitive character string type
cube | 9.1devel | t | data type for representing multidimensional cubes
dblink | 9.1devel | f | connect to other PostgreSQL databases from within a database
dict_int | 9.1devel | f | example of an add-on dictionary template for full-text search
dict_xsyn | 9.1devel | f | example of an add-on dictionary template for full-text search
earthdistance | 9.1devel | t | calculating great circle distances on the surface of the Earth
fuzzystrmatch | 9.1devel | f | determine similarities and distance between strings
hstore | 9.1 | t | storing sets of key/value pairs
auto_username | 9.1devel | f | functions for tracking who changed a table
int_aggregate | 9.1devel | t | integer aggregator and an enumerator (obsolete)
isn | 9.1devel | t | data types for the international product numbering standards
lo | 9.1devel | f | managing Large Objects
ltree | 9.1devel | t | data type for hierarchical tree-like structure
moddatetime | 9.1devel | t | functions for tracking last modification time
pageinspect | 9.1devel | f | inspect the contents of database pages at a low level
pg_buffercache | 9.1devel | f | examine the shared buffer cache in real time
pg_freespacemap | 9.1devel | f | examine the free space map (FSM)
pg_stat_statements | 9.1devel | f | tracking execution statistics of all SQL statements executed
pg_trgm | 9.1devel | t | determine the similarity of text, with indexing support
pgcrypto | 9.1devel | f | cryptographic functions
pgrowlocks | 9.1devel | f | show row locking information for a specified table
pgstattuple | 9.1devel | f | obtain tuple-level statistics
refint | 9.1devel | f | functions for implementing referential integrity
seg | 9.1devel | f | data type for representing line segments, or floating point intervals
tablefunc | 9.1devel | t | various functions that return tables, including crosstab(text sql)
test_parser | 9.1devel | f | example of a custom parser for full-text search
timetravel | 9.1devel | f | functions for implementing time travel
tsearch2 | 9.1devel | f | backwards-compatible text search functionality (pre-8.3)
unaccent | 9.1devel | f | text search dictionary that removes accents
(35 rows)

(\dx+ also has the "Custom Variable Classes" column and that's too large
a paste then, so I've used the pg_extensions system view directly

Some extensions are missing here because they fail to compile on my
workstation where all the libs aren't installed --- ossp, xml2, etc
)

If you provide a $(VERSION) variable, then a line in the control file is
automatically added at make install (version = '$(VERSION)'), in order
to make life easier for extension authors.

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

Dunno if erroneous previous mail did contain the attachement, here it
is.

Attachment Content-Type Size
extension.v7.patch.gz application/octet-stream 41.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2010-10-20 22:15:08 Re: Proposed Windows-specific change: Enable crash dumps (like core files)
Previous Message Alvaro Herrera 2010-10-20 21:59:32 Re: Review: Fix snapshot taking inconsistencies