PGXN recently came up in a discussion I was having with respect to MADlib and I wanted to post some information here to the dev list for the community to consider.
PGXN, the PostGres eXtension Network, is a portal/tool that provides easy access to common Postgres extensions, similar to CPAN for perl, PyPI for Python, or CRAN for R. It comes with a command line tool to aid with installation, e.g. if I had a postgres installation and I wanted to install orafce I could do the following: bash$ pgxn install orafce bash$ pgxn load orafce -D mydb The first command downloads the orafce package and compiles it, the second command installs the package into the default database. MADlib has some support for PGXN, however there are a few issues: 1. The version is an older release - 1.7.4 [1] 2. A default search on PGXN is a documentation search and the URL it finds for MADlib is stale: [2] 3. The package downloads and compiles fine (e.g. pgxn install), however it does not work with pgxn load: bash$ pgxn load madlib INFO: best version: madlib 1.7.4 The extension 'madlib' doesn't contain a control file: it will be installed as a loose set of objects. Do you want to continue? [y/N] y ERROR: cannot find sql file for extension 'madlib': 'madlib--1.7.4.sql' I bring this up because pgxn is a widely used tool in the Postgres tool and providing installations instructions of `pgxn install madlib; pgxn load madlib` is a much cleaner solution to our current installation instructions [3]. In order to support pgxn load we would need to support the Postgres CREATE EXTENSION syntax [4], or at a minimum install "loose objects" via a SQL file instead of the existing madpack mechanism. [1] http://pgxn.org/dist/madlib/ [2] http://pgxn.org/dist/madlib/deploy/packagemaker/welcome.html [3] https://cwiki.apache.org/confluence/display/MADLIB/Installation+Guide [4] http://www.postgresql.org/docs/9.1/static/sql-createextension.html
