COMMAND NAME: gppkg

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

*****************************************************
SYNOPSIS
*****************************************************

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

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

First, download one or more of the available packages 
from the EMC Download Center (https://emc.subscribenet.com)
then copy it to the master host. Use the Greenplum 
Package Manager to install each package using the 
options described below.

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

The following packages are available for download from the
EMC Download Center.
* PostGIS
* PL/Java
* PL/R
* PL/Perl
* MADlib
* Pgcrypto

*****************************************************
OPTIONS
*****************************************************

Options
-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-4.2.0.1 
  /usr/local/greenplum-db-4.2.1.0

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.

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.

--version 
Displays the version of this utility.

-v | --verbose
Sets the logging level to verbose.

-? | -h | --help
Displays the online help.


