COMMAND NAME: gppkg

Installs Apache Cloudberry 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 <coordinator_data_directory>] [-a] [-v]

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

gppkg [-q | --query] query_option

gppkg -? | --help | -h

gppkg --version

*****************************************************
DESCRIPTION
*****************************************************
The Cloudberry Package Manager (gppkg) utility installs 
Apache Cloudberry 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 coordinator host. Use the Cloudberry 
Package Manager to install each package using the 
options described below.

NOTE: After a major upgrade to Apache Cloudberry, 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

Note that Cloudberry Package Manager installation files for extension 
packages may release outside of standard Database release cycles. 
Therefore, for the latest install and configuration information 
regarding any supported database package/extension, go to the Support 
site (https://support.emc.com) and download Primus Article 288189
(https://support.emc.com/search/#text=emc288189) from our knowledge base. 


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

Options
-a

 Do not prompt the user for confirmation.

 
-c | --clean

 Reconciles the package state of the cluster to match the 
 state of the coordinator host. Running this option after a failed
 or partial install/uninstall ensures that the package 
 installation state is consistent across the cluster.

 
-d <coordinator_data_directory>

 The coordinator data directory. If not specified, the value set
 for $COORDINATOR_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 Apache Cloudberry 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.
 
 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 

 Displays the version of this utility.


-v | --verbose

 Sets the logging level to verbose.

-? | -h | --help

 Displays the online help.


