Installs Greenplum Database extensions such as pgcrypto, PL/R, PL/Java, PL/Perl, PostGIS, and MADlib, along with their dependencies, across an entire cluster.


gppkg [-i package | -u package | -r  name-version | -c] 
        [-d master_data_directory] [-a] [-v]

gppkg --migrate GPHOME_1 GPHOME_2 [-a] [-v]

gppkg [-q | --query] query_option

gppkg -? | --help | -h 

gppkg --version


The Greenplum Package Manager (gppkg) utility installs Greenplum Database extensions, along with any dependencies, on all hosts across a cluster. It will also automatically install extensions on new hosts in the case of system expansion and segment recovery.

First, download one or more of the available packages from Pivotal Network then copy it to the master host. Use the Greenplum Package Manager to install each package using the options described below.

Note: After a major upgrade to Greenplum Database, you must download and install all extensions again.

Examples of database extensions and packages software that are delivered using the Greenplum Package Manager are:

  • PostGIS
  • PL/Java
  • PL/R
  • PL/Perl
  • MADlib
  • Pgcrypto

Note that Greenplum Package Manager installation files for extension packages might release outside of standard product release cycles. Current packages are available from Pivotal Network. Information about package compatibility is the Greenplum Database Release Notes.


-a (do not prompt)
Do not prompt the user for confirmation.
-c | --clean
Reconciles the package state of the cluster to match the state of the master host. Running this option after a failed or partial install/uninstall ensures that the package installation state is consistent across the cluster.
-d master_data_directory
The master data directory. If not specified, the value set for $MASTER_DATA_DIRECTORY will be used.
-i package | --install=package
Installs the given package. This includes any pre/post installation steps and installation of any dependencies.
--migrate GPHOME_1 GPHOME_2
Migrates packages from a separate $GPHOME. Carries over packages from one version of Greenplum Database to another.
For example: gppkg --migrate /usr/local/greenplum-db- /usr/local/greenplum-db-
This option is automatically invoked by the installer during minor upgrades. This option is given here for cases when the user wants to migrate packages manually.
Migration can only proceed if gppkg is executed from the installation directory to which packages are being migrated. That is, GPHOME_2 must match the $GPHOME from which the currently executing gppkg is being run.
-q | --query query_option
Provides information specified by query_option about the installed packages. Only one query_option can be specified at a time. The following table lists the possible values for query_option. <package_file> is the name of a package.
Table 1. Query Options for gppkg
query_option Returns
<package_file> Whether the specified package is installed.
--info <package_file> The name, version, and other information about the specified package.
--list <package_file> The file contents of the specified package.
--all List of all installed packages.
-r name-version | --remove=name-version
Removes the specified package.
-u package | --update=package
Updates the given package.
Warning: The process of updating a package includes removing all previous versions of the system objects related to the package. For example, previous versions of shared libraries are removed. After the update process, a database function will fail when it is called if the function references a package file that has been removed.
--version (show utility version)
Displays the version of this utility.
-v | --verbose
Sets the logging level to verbose.
-? | -h | --help
Displays the online help.