Re: Extensions, this time with a patch - Mailing list pgsql-hackers

From Dimitri Fontaine
Subject Re: Extensions, this time with a patch
Date
Msg-id m21v7k344z.fsf@2ndQuadrant.fr
Whole thread Raw
In response to Re: Extensions, this time with a patch  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Extensions, this time with a patch
Re: Extensions, this time with a patch
List pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.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

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Review: Fix snapshot taking inconsistencies
Next
From: Bruce Momjian
Date:
Subject: Re: Proposed Windows-specific change: Enable crash dumps (like core files)