Installing Procedural Languages and Package Extensions for HAWQ

This topic describes how to install procedural language and package extensions in HAWQ.

Supported Procedural Languages and Packages

HAWQ includes support for the following procedural languages:

  • PL/pgSQL
  • PL/Python
  • PL/Java
  • PL/R

Some procedural languages, like PL/pgSQL and PL/Python, are embedded within the HAWQ distribution (or within your HAWQ build if you choose to enable them as build options.) To use them, you simply need to register the procedural language in each database where you want to use it. PL/pgSQL is automatically registered in all HAWQ databases.

See Installing PL/Python, Installing PL/Java and Installing PL/R for installation instructions.

Other procedural languages, like PL/R, must be downloaded as a package extension and installed using the gppkg utility. The PL/Java procedural language can also be installed using the gppkg utility.

In addition, you can install the following package extensions for use with HAWQ:

  • pgcrypto
  • MADLib

See Installing Cryptographic Functions and Installing MADLib for instructions on how to add these extensions to your HAWQ cluster.

Note: If you enable a procedural language or extension in the template1 database, any new database that you create in HAWQ will contain the procedural language. Only use this option if you are absolutely certain you want to enable the procedural language or extension in all new databases.

Installing MADLib

To install and activate MADLib for use in your HAWQ cluster, download the MADLib package for Pivotal HDB available on the Pivotal Network. Then, follow the instructions on the following Wiki site.

https://cwiki.apache.org/confluence/display/MADLIB/Installation+Guide