Release Notes

Release Notes

Release Date: August 12, 2020

Pivotal Greenplum Backup and Restore utilities are released separately from Pivotal Greenplum Database (from Backup and Restore v1.13.0), and are updated independently of the core server.

Version 1.19.0

Pivotal Greenplum Backup and Restore version 1.19.0 is a minor release.

Platform Support

Pivotal Greenplum Backup and Restore is compatible with these Greenplum Database versions:

  • Pivotal Greenplum Database 4.3.22 and later
  • Pivotal Greenplum Database 5.5.0 and later
  • Pivotal Greenplum Database 6.0.0 and later

Software Component Versions

This release includes the following utilities:

See Data Domain Boost for Data Domain Boost support information.

See Known Issues for a list of issues known to exist in this release.

See Differences Compared to Open Source Greenplum Backup and Restore for the list of features that are only in Pivotal Greenplum Backup and Restore.

See Release Numbering Conventions for a description of the Pivotal Greenplum Backup and Restore release numbering scheme.

gpbackup v1.19.0

New Features

  • The gpbackup_history.yaml file now includes information about backup operations that experience non-critical failures. gpbackup adds a new status field for each backup operation included in the file, with state Success or Failure. For existing backup jobs entries in the gpbackup_history.yaml file, the new status field is empty.
  • Any include or exclude filter text files can now ignore new line characters or empty lines.

Resolved Issues

  • [173163551] The gpbackup_history.yaml file now includes information about backup operations that experience non-critical failures..
  • [173645041] A backup with the --jobs flag would set the extra_float_digits parameter (GUC) for the initial Greenplum database connection. Any subsequent connections would ignore the GUC due to missing unique connection ids. This issue has been resolved.
  • [173758841] gpbackup would log the tables prior to the functions in the metadata files. This caused an issue during the restore of tables which used functions. This issue is resolved.

gpbackup_helper v1.19.0

No changes since version 1.14.0.

gprestore v1.19.0

New Feature

  • Empty lines in exclude or include filter text files are ignored.

Changed Features

  • The gprestore --incremental functionality (Beta feature) now generates an error instead of creating new tables when the target database is missing any objects.
  • The gprestore --incremental option has been changed to require the --data-only option. The option indicates that the restore operation doesn't restore any metadata (predata/postdata). If the flag is missing, the gprestore utility generates an error.

Resolved Issues

  • [172664666] Fixed an issue when using gprestore with the --incremental option, where duplicate data could be loaded into a table that was part of a failed TRUNCATE operation. This issue has been resolved.
  • [172665790] Fixed an issue when using gprestore with the --incremental option, where gprestore would attempt to recreate some post data objects such as Indexes, even though they already existed. This issue has been resolved.
  • Fixed an issue where gprestore with an incorrectly formed .yaml plugin configuration file would fail without displaying an error message. gprestore now generates an error message if the file is not formatted correctly.

gpbackup_manager v1.3.0

New Feature

  • The gpbackup_manager command with the list-backups option now displays a new column called Status. The column shows a Success or Failure state for each backup operation listed in the gpbackup_history.yaml file.

Backup/Restore Plugin API

New Feature

  • The Backup/Restore Plugin API is no longer Beta, it is promoted to a Pivotal supported feature.
  • Adds a new command to the Backup/Restore Plugin API named restore_data_subset. This command improves the performance of filtered restores by enabling the plugin to directly seek or scan specific offsets in the data. The plugin configuration file has a new restore_subset property, which can be set to "on" or "off"(default).

gpbackup_ddboost_plugin v1.5.0

New Feature

  • The DD Boost plugin has been enhanced to decrease the overall duration of filtered restores when using the (in|ex)clude-table option or --(in|ex)clude-table-file option with --single-data-file for uncompressed DD Boost data. The plugin now implements the restore_data_subset command, which allows scanning and fetching only the necessary data. The ddboost.yaml configuration file has a new configuration parameter called restore_subset, with options "on" or "off". By default, the parameter is set to "on" for the DD Boost plugin.

Resolved Issues

  • [30682] Resolves an issue where an attempted connection to the database resulted in the error Connection to DB failed with error code: 1. The DD Boost plugin connection timeout has been increased allow connections when Greenplum is processing a large number of connection requests.
  • [30816] Resolves a DD Boost 5034 error issue where gprestore with the gpbackup_ddboost_plugin would fail restoring from a storage unit created by the Data Domain replication process, which was set in RO / RD read-only mode. The DD Boost plugin has been enhanced to handle Data Domain storage units set in RO / RD mode.
  • [30627] Resolves an issue where executing gprestore with the DD Boost plugin would take a long time and appear hung. The DD Boost plugin has been enhanced with an improved seek operation during filtered restores.

gpbackup_s3_plugin v1.4.0

Changed Feature

  • When using the S3 storage plugin, the plugin logs are in <gpadmin_home>/gpAdmin/gpbackup_s3_plugin_timestamp.log on each Greenplum host system. The timestamp format is YYYYMMDDHHMMSS.

Resolved Issues

  • [30685] When performing a back up with gpbackup S3 plugin and specifying the --metadata-only option, the backup operation incorrectly attempted to write a report file on segment instances and returned an error. This issue has been resolved.

Data Domain Boost

This release of gpbackup and gprestore supports Data Domain Boost for backup on Red Hat Enterprise Linux. This table lists the supported versions of DDOS, Data Domain Boost SDK, and BoostFS.

Table 1. Data Domain Boost Compatibility
DDOS Data Domain Boost BoostFS
7.1 7.1 7.0
6.2 3.5 1.3
6.1 (all versions) 3.4 1.1
6.0 (all versions) 3.3 n/a
Note: In addition to the DDOS versions listed in the previous table, gpbackup and gprestore support all minor patch releases (fourth digit releases) later than the certified version.

Known Issues

  • Running gpbackup with the --include-table or --include-table-file options to back up a set of tables incorrectly backs up user-defined functions and protocols. This will be resolved in gpbackup v1.18.1

    Workaround: When running gprestore to restore the tables from the backup, use the same --include-table or --include-table-file options that were used to create the backup.

  • A gprestore operation with the --incremental option (Beta) recreates existing postdata objects. The operation consequently errors out with an already exists message.
  • gprestore does not support restoring a backup that contains partitioned tables where the table is created with a non-reserved keyword that is used as a partition name. For example, the non-reserved keyword at is used as a partition name in this SUBPARTITION TEMPLATE clause fragment:
    ... 
    SUBPARTITION TEMPLATE
      ( SUBPARTITION "at" VALUES ('usa'),
    ...

    gpbackup backs up the partitioned table, but gprestore returns an error when attempting to restore the table.

    Before performing a backup with gpbackup, you must ensure that partitioned tables do not use any of these non-reserved keywords as a partition name:

    ADD, ALTER, ALWAYS, AT, ATTRIBUTE, CATALOG, COMMENTS, CONFIGURATION, CONFLICT, CONTINUE, CURRENT, DATA, DAY, DENY, DEPENDS, DICTIONARY, DISCARD, DOCUMENT, DXL, EVENT, EXTENSION, FAMILY, FILESPACE, FILTER, FULLSCAN, FUNCTIONS, HOUR, IDENTITY, IGNORE, IMPORT, INITPLAN, INLINE, LABEL, LEAKPROOF, LOCKED, LOGGED, MAPPING, MATERIALIZED, METHOD, MINUTE, MONTH, NOCREATEEXTTABLE, OFF, ORDERED, ORDINALITY, OVER, PARALLEL, PARSER, PASSING, PLANS, POLICY, PROGRAM, RANDOMLY, READABLE, READS, RECURSIVE, REF, REFRESH, REJECT, REPLICATED, ROOTPARTITION, SECOND, SEQUENCES, SERVER, SKIP, SNAPSHOT, SQL, STANDALONE, STRIP, TABLES, TEXT, TRANSFORM, TYPES, UNLOGGED, VALIDATION, VARYING, VIEWS, WEB, WHITESPACE, WITHIN, WITHOUT, WRAPPER, WRITABLE, XML, YEAR, YES

  • A gprestore operation using the --redirect-schema option fails if gprestore attempts to restore an index in a schema and the name of the index is the name of the schema followed by a '.' (period). For example, this CREATE INDEX command creates the index named test. on a table in the schema test. The index is in the schema test.

    CREATE INDEX "test." ON test.mytbl USING btree (i);
    If the index and table are backed up with gpbackup, restoring the backup with this gprestore command fails because gprestore fails to restore the test. index.
    gprestore --timestamp <timestamp> --redirect-schema foo2
  • Beginning with versions 4.3.33 and 5.19, Greenplum Database checks that the distribution key for a table is a prefix of any unique index key. This policy is not in place for Greenplum Database versions before 4.3.33 or 5.19, and it is possible to create a backup of a database from one of these earlier versions with unique indexes that do not comply with the policy. When you restore such a backup to a Greenplum Database version that does enforce the policy:
    • If the unique index is for a primary key constraint, Greenplum Database automatically modifies the table's distribution policy if the table has no data.
    • In other cases, creating a unique index with a key that does not begin with the table's distribution key fails.

    This issue affects restoring backups made from Greenplum Database 4.3.32.0, 5.18.0, or earlier to a Greenplum Database version 4.3.33.0, 5.19.0, 6.0, or later system. The issue affects the gprestore, gpdbrestore, and pg_restore utilities.

Differences Compared to Open Source Greenplum Backup and Restore

Pivotal Greenplum Backup and Restore includes all of the functionality in the open source Greenplum Backup github repository and S3 storage plugin repository and adds:

  • Greenplum backup plugin for DD Boost
  • Greenplum gpbackup_manager utility
  • Greenplum Backup and Restore installation file in gppkg format

Release Numbering Conventions

The Pivotal Greenplum Backup and Restore distribution release number indicates the type of the release.

  • The first number is the gpbackup/gprestore major release number. For example, given the release number, 1.16.0, the major release number is 1.
  • The second number is the minor release number. Given the release number 1.16.0, the minor release number is 16. This number increments when new features are added to the gpbackup/gprestore utilities.
  • The third number is the maintenance release number. This number increments when the gpbackup/gprestore utilities included in the distribution contain fixes without new features, or if one or more components included in the distribution, such as gpbackup_manager and the backup storage plugins, have been updated.

The release versions of the components included in the distribution, such as gpbackup_manager and the backup storage plugins, are separate from the distribution version, but follow the same numbering scheme as the distribution.