This document contains release information about VMware Greenplum Database 6.x releases. For previous versions of the release notes for Greenplum Database, go to VMware Greenplum Database Documentation. For information about Greenplum Database end of life, see VMware Greenplum Database end of life policy.
VMware Greenplum 6 software is available for download from the VMware Greenplum page on Broadcom Support Portal.
NoteFor more information about download prerequisites, troubleshooting, and instructions, see Download Broadcom products and software.
See Upgrading to Greenplum 6 to upgrade your existing Greenplum software.
Release Date: 2024-08-09
VMware Greenplum 6.28.0 is a minor release that includes new and changed features and resolves several issues.
GPORCA now supports full hash joins and functions containing query parameters.
VMware Greenplum 6.28.0 generates less WAL for COPY FROM
on heap tables when executed in the same transaction as CREATE TABLE
.
VMware Greenplum 6.28.0 enhances gpexpand
performance in segment cleanup.
VMware Greenplum 6.28.0 sets simple progress tracking as the default for gpexpand
and adds a --detailed-progress
option for detailed progress tracking.
VMware Greenplum 6.28.0 reintroduces the rollup rewrite plan for Data Quality Assurance (DQA) queries and introduces the new GUC gp_enable_groupext_dqa_pruning
.
VMware Greenplum 6.28.0 enhances query performance by unassigning and bypassing pure-catalog queries from resource groups, controlled by the GUC gp_resource_group_bypass_catalog_query
.
VMware Greenplum 6.28.0 enhances the performance of REFRESH MATERIALIZED VIEW
when using the WITH NO DATA
option.
VMware Greenplum 6.28.0 introduces a new --min_ssl_protocol_version
option for controlling the minimum permitted SSL/TLS version for gpfdist
.
Greenplum 6.28.0 now supports controlling the minimum and maximum permitted SSL/TLS versions through the GUCs ssl_min_protocol_version
and ssl_max_protocol_version
in postgresql.conf
.
Greenplum 6.28.0 introduces the --direct-io
option in gpcheckperf
to ensure consistent IO performance test results by bypassing caching.
VMware Greenplum 6.28.0 introduces a new server configuration parameter — gp_appendonly_compaction_segfile_limit
. This parameter sets the minimum number of segment files required for inserts before the next compaction.
Greenplum 6.28.0 improves the el8_migrate_locale
utility by introducing the following commands:
identify
: Checks for affected indices and tables.prepare
: Generates migration commands.validate
: Ensures data correctness.The VMware Greenplum Orca Optimizer now supports DISTINCT
-qualified WINDOW AGGREGATE
queries.
VMware Greenplum 6.28.0 introduces a new UDF advanced_password_check.role_password_status(rolname TEXT)
to display the password creation time, expiration time, and the role's valid until time.
VMware Greenplum 6.28.0 now supports viewing tables that failed to redistribute, tables that have been dropped, and user-expanded tables.
gpexpand
status tables and views.gpexpand.expansion_progress
view.The gpstate -e
command now displays an additional field called "Startup recovery remaining bytes". This field reports the number of bytes of startup WAL archive recovery remaining for the mirror segment that is undergoing recovery before the segment is marked as "up" in the gp_segment_configuration
table.
VMWware Greenplum 6.28.0 introduces a new extension, orafce_ext, which provides Oracle Compatibility SQL functions for manipulating RAW
datatypes.
VMware Greenplum 6.28.0 introduces the gp_count_cores
extension to count physical cores in a Greenplum cluster.
COPY
when used with
PROGRAM
on transaction abort, which causes child programs to stay connected and potentially hang downstream programs such as
gprestore
with
--on-error-continue
.
gpinitsystem
.
ANALYZE
process.
deadlock_timeout
GUC only on the coordinator does not propagate the new value to all segments.
pg_rewind
could be cancelled midway due to using libpq connection timeout parameters.
COPY TO PROGRAM
didn't clean up resources when encountering data loading errors.
LC_COLLATE
and
LC_CTYPE
were set to
C
.
percentile_cont
and
percentile_disc
on pass-by-ref datatypes, such as numeric and interval.
VIEW
returned inaccurate
resorigtbl
metadata.
WITH ORDINALITY
clause.
advanced_password_check
would error out when changing a password for a role with the valid until time set to infinity or null.
pg_dump
and
pg_upgrade
utilities now correctly dump and restore the partitioned table indexes during major version upgrades.
pg_upgrade
correctly invalidates bitmap and AO/CO indexes on the target cluster. Consequently, the
pg_upgrade
checks for
Checking for non-covering indexes on partitioned AO tables
,
Checking for indexes on partitioned tables
, and
Checking for hash and GIN indexes
have been removed.
pg_upgrade
.
Release Date: 2024-07-05
VMware Greenplum 6.27.3 is a maintenance release that resolves the following issue.
cache lookup failed for opclass
.
Release Date: 2024-06-21
VMware Greenplum 6.27.2 is a maintenance release that resolves several issues.
COPY
when used with
PROGRAM
on transaction abort, which causes child programs to stay connected and potentially hang downstream programs such as
gprestore
with
--on-error-continue
.
DELETE
and non-split
UPDATE
operations on heap tables did not obey the
wait_for_replication_threshold
GUC.
Release Date: 2024-05-03
VMware Greenplum 6.27.1 is a maintenance release that introduces new and changed features and resolves several issues.
VMware Greenplum 6.27.1 includes the following new and changed features:
VMware Greenplum 6.27.1 introduces a new server configuration parameter wal_sender_archiving_status_interval
, which sends information about the last archived WAL from primary to standby at the intervals specified in the parameter.
VMware Greenplum 6.27.1 no longer removes pg_rewind
and pg_basebackup
logs, regardless of the outcome of a recovery.
gpssh
fails in environments that need the
TERM
variable set.
debug_print_full_dtm
is on.
PANIC
error occurred when doing concurrent updates on a table with a before row update trigger.
CREATE TABLE
statements errored out when
rle_type
compression was specified with
compresslevels
5
and
6
, at the table level.
gpexpand
command, erroneously reporting that the distributed transaction limit had been reached.
Release Date: 2024-04-05
VMware Greenplum 6.27.0 is a minor release that includes new and changed features and resolves several issues.
VMware Greenplum 6.27.0 includes these new and changed features:
The gpfdist parallel file distribution utility now supports multi-threaded data compression and transmission.
The PgBouncer distributed with Greenplum Database has been updated to version 1.21.0.
The gpcheckcat
utility now includes a new test -- mix_distribution_policy
-- which checks for tables created with legacy and non-legacy hash operations.
This release updates the plcontainer version to 2.4.0 and the python3 image version to 2.4.0. Previous image releases cannot be used with the 2.4.0+ plcontainer.
The pg_config
utility option --version
now displays the version of the PostgreSQL backend server, and the new option --gp_version
prints the version of Greenplum.
VMware Greenplum 6.27.0 introduces the pg_cron module, which provides a cron-based job scheduler that runs inside the database.
VMware Greenplum 6.27.0 supports Run-length encoding (RLE) compression with the Zstandard algorith, or zstd
for column-oriented tables.
The log_checkpoints
server configuration parameter is now set to on
by default.
The gpsupport gp_log_collector
tool now supports gathering logs for VMware Greenplum Disaster Recovery, via the new -with-gpdr-primary
and -with-gpdr-recovery
options.
The ip4r
module distributed with VMware Greenplum has been updated to version 2.4.2.
With the 6.27.0 release, mirrorless Greenplum architectures no longer use the HA service to provide high availability of Greenplum primary segments in place of the FTS probe used in mirrored architectures. The HA service required that Greenplum state was controlled with root for multiple services, causing contention between normal cluster utilities such as gpstart/gpstop and the HA service. This issue and other usability issues are resolved by the new Postmaster service, which entirely replaces the original HA service. For more information about using the Postmaster service, see Installing the Greenplum High Availability Service.
VMware Greenplum 6.27.0 enhances WAL archive recovery by preventing scanning of nonexistent WAL segment files.
You may now pass the -i
and --differential
in the same gprecoverseg
command.
UNLOGGED
table triggered a missing file error after failover to a mirror segment.
failed to acquire resources on one or more segments
. Now Greenplum retries gang creation by default for non-recovery failures.
read beyond eof
if they were running concurrently with a lazy
VACUUM
on the same partitions. The fix introduces a new server configuration parameter
gp_keep_partition_children_locks
that maintains the locks on all append-optimized leaf partitions until the end of the transaction.
DynamicBitmap
scan if
QueryFinishPending
was
true
.
SIGABRT
straight after a user tried to terminate a query using
pg_terminate_backend()
.
FTS PROBE
resulted in a memory leak.
string_agg(ORDER BY)
with
agg(DISTINCT)
led to incorrect results.
COPY TO
hung when copying an append-optimized, column-oriented table with no columns.
gp_toolkit.gp_move_orphaned_files
function where files were not moved correctly on the segment host. This fix also allows the
gp_check_orphaned_files
view and function to run with idle sessions, making it more convenient to use.
gpload
created a temporary table using the wrong distribution key order.
gpcheckcat
utility was triggering false errors due to erroneously querying the
pg_description
and
pg_shdescription
catalog tables.
gprecoverseg -o
created an empty output file for segments that ran on an unreachable host.
Release Date: 2024-07-12
VMware Greenplum 6.26.6 is a maintenance release that resolves the following issue.
Release Date: 2024-06-28
VMware Greenplum 6.26.5 is a maintenance release that resolves several issues.
DELETE
and non-split
UPDATE
operations on heap tables did not obey the
wait_for_replication_threshold
GUC.
COPY
when used with
PROGRAM
on transaction abort, which causes child programs to stay connected and potentially hang downstream programs such as
gprestore
with
--on-error-continue
.
Release Date: 2024-03-08
VMware Greenplum 6.26.4 is a maintenance release that introduces new features and resolves several issues.
This release introduces a new server configuration parameter – gp_enable_mdqa_shared_scan
– which controls whether to use shared scans in three-stage aggregations. Setting this parameter addresses problems of significant disk I/O and large spill files that can occur when there are shared scans in in three-stage aggregation.
The VMware Greenplum Orca Optimizer now supports DISTINCT
-qualified WINDOW AGGREGATE
queries.
This release improves the performance of directory scans VMware Greenplum performs as part of WAL archiving.
COPY
command invoked with the
PROGRAM
argument could fail and corrupt the shared memory, reporting errors such as
latch already owned
,
failed to re-find shared lock object
,
failed to re-find shared proclock object
, or
sorry, too many clients already
.
latch already owned by pid
.
Release Date: 2024-02-15
VMware Greenplum 6.26.3 is a maintenance release that resolves several issues.
latch already owned by pid
.
ALTER RESOURCE QUEUE
operation that bumped the resource queue limit, which could cause a slot leak in a resource queue.
Release Date: 2024-01-26
VMware Greenplum 6.26.2 is a maintenance release that includes a couple of new features and resolves several issues.
The new optimizer_enable_right_outer_join
server configuration parameter allows you to control whether GPORCA generates right outer joins. In situations in which you are observing poor performance related to right outer joins you may choose to suppress their use.
VMWware Greenplum includes a new extension - pg_buffercache
-- which provides a new view to obtain clusterwide shared buffer metrics: gp_buffercache
.
The PgBouncer distributed with Greenplum Database has been updated to version 1.21.0.
gp_max_system_slices
server configuration parameter. This parameter allows you to limit the maximum number of slices a query can use, preventing queries that might provoke memory issues from running in the first place.
GROUP BY position -1 is not in select list
.
pg_dump
was not marking functions and aggregates appropriately for dumping.
gpcheckcat
check
missing_extraneous
failed with the error
column "oid" does not exist
, due to changes in the
oid
column name to
objoid
.
segment -1 is down in unexpected control file state "in archive recovery"
.
pg_dump
skipped the
DISTRIBUTED BY
clause of an inherited child table.
pg_dump
, when run with the
-t
option for an inherited child table, incorrectly dumped its parent table's index.
Release Date: 2023-12-08
VMware Greenplum 6.26.1 is a maintenance release that includes one changed feature and resolves several issues.
This release updates the supported zstd
version on RHEL 8 to 1.4.4.
SEMI Join
with replicated tables was yielding incorrect results.
ScalarMiniMax(LEAST, or GREATEST)
expression.
failed to acquire resources on one or more segments","server closed the connection unexpectedly
. To resolve this, VMware Greenplum now retries gang creation for non-recovery related failures.
PANIC
errors on the master host, due to resource group memory allocation issues.
psql
resulted in the error
ERROR: Cannot add cell to table content: total cell count of XXX exceeded.
, due to an int overflow.
gpstop
utility where
gpstop
fails with an exception because it was not able to handle an empty PID file under the
gpstop.lock
directory.
Release Date: 2023-10-26
VMware Greenplum 6.26.0 is a minor release that includes new and changed features and resolves several issues.
Greenplum Database 6.26.0 includes these new and changed features:
Greenplum Database 6.26 has been tested on and is supported for deployment to Red Hat Enterprise Linux 64-bit 9.x and Rocky Linux 9.x.
Greenplum Database 6.26.0 introduces the gp_check_functions module, which implements views that you can use to identify missing and orphaned relation files. The module also provides a user-defined function that you can use to move orphaned files.
Greenplum Database 6.26.0 introduces the upgrade_check.py
utility, which helps you identify and address the main challenges associated with an in-place upgrade from EL 7 to 8. See Migrating VMware Greenplum from Enterprise Linux 7 to 8 for more details.
The gpcheckcat utility includes a new option -x
that allows you to set a server configuration parameter at a session level.
The diskquota
module was updated to version 2.3.0, which includes these changes and bug fixes:
diskquota.max_quota_probes
to specify the number of quota probes at a cluster level.diskquota.max_monitored_databases
to specify the maximum number of databases monitored by the module.Refer to the diskquota module documentation for installation and upgrade instructions.
VMware Greenplum Streaming Server (GPSS) version 1.10.4 is included, which includes changes and bug fixes. Refer to the VMware Greenplum Streaming Server Documentation for more information about this release and for upgrade instructions.
INSERT
command was terminated by a
signal11: Segmentation fault
error.
canceling statement due to user request
now provides the duration time of the failed query in order to help with debugging.
idle in transaction
for a parallel retrieve cursor even when the query executor had reported an error.
pg_ctl stop -m fast
on the Greenplum master hung indefinitely.
ic-proxy
process did not provide an error message when the peer listener failed. It now displays the error
ERROR: SetupInterconnect: We are in IC_PROXY mode, but IC-Proxy Listener failed, please check.
.
GROUP BY
aggregates.
CTYPE
character set encoding.
SEMI
joins on randomly distributed tables.
gprecoverseg
failed when passing too many arguments. The utility now displays a meaningful error instead.
pgbouncer
did not mask a plain text LDAP password by adding support for encrypted LDAP passwords.
Release Date: 2024-06-13
VMware Greenplum 6.25.5 is a maintenance release that resolves the following server issue.
SIGABRT
straight after a user tried to terminate a query using
pg_terminate_backend()
.
Release Date: 2024-03-08
VMware Greenplum 6.25.4 is a maintenance release that introduces new features and resolves several issues.
This release introduces a new server configuration parameter -- gp_workfile_compression_overhead_limit
-- which limits the overhead memory used by all the ZSTD-compressed workfiles of a query's single workfile set.
This release introduces a new server configuration parameter – gp_enable_mdqa_shared_scan
– which controls whether to use shared scans in three-stage aggregations. Setting this parameter addresses problems of significant disk I/O and large spill files that can occur when there are shared scans in in three-stage aggregation.
The VMware Greenplum Orca Optimizer now supports DISTINCT
-qualified WINDOW AGGREGATE
queries.
Release Date: 2023-10-5
VMware Greenplum 6.25.3 is a maintenance release that introduces two new features and resolves several issues.
gpexpand
with a custom input file (a file not created with using
gpexpand
prompts), the utility failed if custom tablespaces were configured in the cluster. This occurred because
gpexpand
could not find a tablespace file that was created automatically only when using prompts. The utility now checks to determine if the tablespace file exists and, if it does not exist, the utility generates the file and exits with a prompt to verify the file and re-run
gpexpand
.
gpstop
or
gpstate
would fail if the
MASTER_DATA_DIRECTORY
environment variable was not set, even if the
-d
option was specified to provide the directory.
gpcheckperf
utility was changed to ensure that the result set for the list of hosts displayed for network tests matches the results from earliear versions of the utility.
analyzedb
to the list of tables to analyze to improve performance.
SELECT
operation against a replicated table.
gp_detect_data_correctness
, to help detect whether a locale change of the underlying operating system (such as with an upgrade from CentOS 7 to CentOS 8) has changed the partitioned table assignment for the underlying data. If this parameter is set to
on
then, during an insert, an error is reported if the data is not expected in the partition. If you receive these errors, redistribute or rebuild the affected table.
REFRESH MATERIALIZED VIEW
against an append-only materialized view with b-tree indexes returned the error
ERROR:relation"pg_aoblkdir_xxxx" already exists
.
PANIC
with the error
ERRORDATA_STACK_SIZE exceeded
. This fix prints an error message with
write_stderr
instead when encountering the same scenario.
SIGTERM
.
Release Date: 2023-09-13
VMware Greenplum 6.25.2 is a maintenance release that introduces two new features and resolves several issues.
The timestamp
and timestamp_ntz
modules now support the extract()
, date_part()
, and date()
functions.
The gp_parallel_retrieve_cursor module now opens a parallel retrieve cursor on behalf of the current user. The module previously opened the cursor on behalf of the session user.
Release 6.25.2 introduces a new gpcheckcat
option,-x
, which allows you to pass session-level parameters to gpcheckcat
to aid in running certain catalog checks faster.
PANIC
if
ALTER TABLE SET DISTRIBUTED BY
or
ALTER TABLE SET WITH (reorganize=true|false)
ran along with another subcommand. This combination of statements must not run together, hence this fix prevents them from running.
pg_stat_activity
showed that the limit on the maximum number of running queries specified for the resource group had not yet been met.
dtx_phase2_recovery_retry_second
from 60 seconds to 600 seconds.
recovery_target_timeline
explicitly set failed when trying to retrieve that timeline's history file.
gpmmon
process to make sure gpdb_get_master_data_dir
sets the
master_data_dir` variable to a non-null pointer.
minirepo
utility was ignoring table sequences.
gpcheckcat
was erroring out and exiting because an underlying query was referencing an incorrect column in the
pg_description
table.
gprecoverseg
where recovery was failing with the
-i
flag when the current host was unreachable.
gpstop
utility was failing to clean up orphaned sessions when interrupted.
gpcheckperf
utility called
buffer-size
to help you customize the buffer size when running network bandwidth tests.
gpexpand
utility by having
gpexpand
skip the
db_analyze
directory when doing the expansion.
pgbouncer
crashed when switching between authentication methods
ldap
and
md5
.
gpload
where in case of a failure using
INSERT
mode, the operations under the
PRELOAD
section were not rolled back.
gpfdist
wrote duplicated data if the network was unstable.
gpfdist
now updates the sequence number when the data writing ends or the request is
OPEN_SEQ
to avoid data overwriting.
timestamp9
module, which allow you to enable date/time functions with the
timestamp9
module.
analyzedb
.
ERROR
to
NOTICE
of a message that reports that parameterized queries are not supported.
indexscan
plans for any array with GPORCA.
IN
operator with a hash indexed table caused GPORCA to fall back to the Postgres Planner.
generate_series
or an inner sub-query.
Release Date: 2023-07-21
VMware Greenplum 6.25.1 is a maintenance release that resolves several issues.
ERROR: could not find hash function for hash operator
.
gpfdist
, if the connection between segments and
gpfdist
broke, the segment would hang forever.
Release Date: 2023-07-14
VMware Greenplum 6.25.0 is a minor release that includes new and changed features and resolves several issues.
Greenplum Database 6.25.0 includes these new and changed features:
Version 6.25.0 introduces differential segment recovery -- via gpecoverseg
's new --differential
option -- which allows you to skip recovery of objects during full recovery that have not changed since the last full recovery. Differential segment recovery is currently a Beta feature, and is not supported for production environments. See Understanding Segment Recovery for more details.
gprecoverseg
includes a check to look for running pg_rewind
sessions, in order to avoid running a recovery for a particular segment if there is already an existing session in progress.
gprecoverseg
adds a new optional parameter to the input configuration file, failedHostname
, that specifies the hostfile of the failed segments. You may continue using the default format for the configuration file which does not include failedHostname
parameter. See Recovering from Segment Failures for more details.
gpcheckperf
now uses rsync
to copy files if gpscp
is not available.
The advanced_password_check
module includes new features such as more password policies and user-defined functions to manage exception lists, unblock users, and view the active policies. Refer to the advanced_password_check
module documentation for more information.
Greenplum Database 6.25.0 introduces the pgaudit module, which provides detailed session and object audit logging.
The diskquota
module was updated to version 2.2.2, which includes these changes and bug fixes:
diskquota
releases supported upgrading only between versions 1.x and 2.0 and between minor 2.x versions.diskquota
could not correctly record the active table after a Greenplum Database mirror segment was activated.[diskquota] disk quota worker process is monitoring database:<name>
log messages to one per hour when operating in dynamic mode.Refer to the diskquota module documentation for installation and upgrade instructions.
The pg_upgrade_jobs
parameter enables the --jobs
flag in pg_upgrade
that enables parallel upgrade checks, as well as parallel schema dump and restore, and parallel tablespace transfer, that improves the overall upgrade speed.
A Client and Loader Tools Package is now provided for installation on RHEL 9.
The PXF version 6.7.0 distribution is available with this release; you can download it from the Release Download directory named Greenplum Platform Extension Framework on Broadcom Support Portal under the desired Greenplum release. Refer to the PXF documentation for information about this release and for installation and upgrade instructions.
Greenplum Database 6.25.0 introduces the first release of the VMware Greenplum Virtual Appliance. The virtual machine appliance contains everything you may need for an easy deploying of Greenplum Database on vSphere.
pg_dump
locked partition tables that were outside the backup set.
variable not found in subplan target lists
when it attempted to update the distribution column of a table. Greenplum now supports the
RETURNING
clause during split update.
TABLE(SELECT 1 SCATTER BY 1)
and
WHERE EXISTS
clauses by disallowing the unique row id method for a table function scan.
fsync
server configuration parameter was set to
on
and changes were made to a database that were immediately followed by moving the database to a new tablespace.
pgbench
performance regression by introducing macros to retrieve the attributes of
GpSegmentId
, a stable type.
_get_remove_cmd()
to better describe it.
<val op col>
expression because it required that the predicate be in the form of
<col op val>
. GPORCA now selects a more efficient bitmap index plan for both forms of the expression.
col12
and
col1, col2
). GPORCA now adds a delimiter between different column identifiers during hashing.
optimizer_join_order
server configuration parameter was set to
exhaustive2
.
COPY ... FROM
lost data and did not generate an error when the number of columns in the receiving table was less than the number of fields in the file.
gpfdist
returns when it encounters an error during a write operation.
pg_upgrade --check
on the primary segments so it only runs on the Greenplum master, which results in faster upgrade speeds.
relfrozenxids
for user tables when running
pg_dump
with the
--binary-upgrade
option as it caused issues for partition tables, AO/CO tables, and object recreation with
pg_restore
.
Release Date: 2023-06-30
VMware Greenplum 6.24.6 is a maintenance release that resolves several issues.
DROP TYPE...CASCADE
if a partition key column was dependent on the
TYPE
.
DROP TYPE...CASCADE
also dropped any distribution key dependent on the
TYPE
, and caused catalog inconsistencies.
CREATE SCHEMA ...
schema_element
defeats protective
search_path
changes.
WITH HOLD
clause.
Release Date: 2023-06-15
VMware Greenplum 6.24.5 is a maintenance release that resolves several issues.
http response code 500 from gpfdist
when it received
POST
requests from the segments while experiencing network failures.
-k
for
gpfdist
to manually set the session clean up timeout in order to avoid the error
400 invalid request due to wrong sequence number
.
Release Date: 2023-06-09
VMware Greenplum 6.24.4 is a maintenance release that introduces changes and resolves several issues.
Greenplum Database 6.24.4 includes these changes:
pg_upgrade
.malloc
calls getting deadlocked.
cannot execute squelched plan node of type: 211
.
MPPnoticeReceiver
when it received an unexpected message while idle.
InterruptHoldoffCount
was not always reset to zero after a statement finished, which may cause issues with other processes.
gpstate -e
was displaying incorrect or stalled progress when the main
gprecoverseg
process was terminated or interrupted.
pg_upgrade
.
pg_upgrade
check to look for duplicated distribution columns that may be present in the database due to a bug in 5.x versions.
pg_dump
did not include tables whose name ended with the special character
$
, which led to an issue when restoring such tables into the new cluster.
Release Date: 2023-05-04
VMware Greenplum 6.24.3 is a maintenance release that introduces changes and resolves several issues.
Greenplum Database 6.24.3 includes these changes:
The default value of the gp_resource_group_bypass_catalog_query server configuration parameter is changed to false
.
The diskquota
module was updated to version 2.2.1, which includes these changes and bug fixes:
diskquota
supported 1024 of each type of quota. diskquota
2.2.1+ supports 128 * 1024
quota types.diskquota
refreshed more often than necessary when it received a signal. Additional checks were added to ensure that diskquota
refreshes only once per diskquota.naptime
time period.Refer to the diskquota module documentation for installation and upgrade instructions
cannot find resource group with Oid 0 in shared memory
due to leaking slots when resource group-based resource management was active.
LOG
to
DEBUG1
.
unrecognized node type: 925
when resource group-based resource management was active and catalog query bypass was enabled due to certain node types missing from checks. This issue is resolved, Greenplum now recognizes the missing node types. Additionally, the default value of the
gp_resource_group_bypass_catalog_query
server configuration parameter is changed to
false
.
Release Date: 2023-04-20
VMware Greenplum 6.24.2 is a maintenance release that resolves a single issue present in versions 6.24.0 and 6.24.1:
ANALYZE
on an append-only, column-oriented table that had dropped columns. This problem was introduced in version 6.24.0 by an optimization to
ANALYZE
that skipped columns that were dropped from AO/CO tables. The optimization was reverted in 6.24.2.
Release Date: 2023-04-20
VMware Greenplum 6.24.1 is a maintenance release that resolves several issues.
32799 : Resolves a memory leak that could occur when restoring data from a backup to a partitioned table.
32779 : Resolves an issue where a PANIC
error could occur on the master segment due to a loss of context during memory allocation.
32756 : Resolves an issue where bitmap index creation on heap tables could fail due to out-of-order transaction IDs resulting from sync scans. Sync scans are now disallowed when building bitmap indexes.
32746 : Resolves an issue where too many processes were remaining in the startup phase for an excessive. This, in turn, was due to VACUUM FULL
moving blocks of critical system data to an inefficient location, which delayed process startup.
32747 : Resolves a problem where GPORCA would fall back to using the Postgres Planner for any queries that involved a variadic function (for example, for a function of indefinite arity), thereby generating a sub-optimal plan. GPORCA now supports optimizing queries that involve variadic functions.
Release Date: 2023-03-20
VMware Greenplum 6.24.0 is a minor release that includes new and changed features and resolves several issues.
Greenplum Database 6.24.0 includes these new and changed features:
Version 6.24.0 introduces new resource groups and query optimizer features that can be enabled using server configuration parameters:
gp_resource_group_bypass_catalog_query - when set to true
, Greenplum Database's resource group scheduler bypasses all queries that both read exclusively from system catalogs and contain in their query text pg_catalog
schema tables only, in order to prevent the scheduler from blocking these queries.
optimizer_discard_redistribute_hashjoin - provides a method to improve Query Optimizer performance when data to be joined exhibits high skewness in the join keys.
Greenplum Database now supports the isn
extension, which provides support for the international product numbering standards EAN13, UPC, ISBN (books), ISMN (music), and ISSN (serials).
Greenplum Databases’s timestamp9
extension now includes support for the timestamp9_ltz
and timestamp9_ntz
datatypes.
Greenplum Database 6.24.0 deprecates the following features: Greenplum MapReduce, PL/Container 3 Beta and GreenplumR client.
GPORCA now supports direct dispatch for randomly distributed tables.
VMware Greenplum Streaming Server (GPSS) version 1.9.0 is bundled, which includes new features, changes, and bug fixes. Refer to the Greenplum Streaming Server Documentation for more information about this release and for upgrade instructions.
Greenplum Database improves pg_upgrade
performance when it handles AO auxiliary tables, by copying relfilenodes to the new cluster instead of rebuilding them.
Greenplum Database 6.24.0 introduces the tablefunc module, which provides various examples of functions that return tables.
32666 : Resolves an issue where a column of type timestamp9
could not be used as a distribution key.
32667, 32668 : Resolves an issue where partition elimination was failing on columns of type timestamp9
.
N/A : Resolves an issue where -- when a mirror segment got promoted and the original primary segment was disconnected but still running -- the original primary segment tried to archive a file that had already been archived.
N/A : Changes the level of an autovacuum log message from LOG
to DEBUG1
.
30755, 32491 : Resolves an issue where pg_dump
failed with error unsupported ALTER command for external table
when restoring external tables with serial column types. The fix allows pg_upgrade
and gpbackup
to support serial column types on external tables.
32617 : Introduces a magic number field to the ICProxyPkt
packet to prevent external applications from trying to connect to the ic-proxy
process and resulting in hung queries.
32758 : Improves performance of the query gpcheckcat
uses for determining vpinfo
corruption.
14348 : Fixes a memory leak on the master server that occurred when running INSERT
or COPY
to an append-only partitioned table.
14561 : Fixes a memory leak by removing redundant invocation of mdinit()
at the end of the function smgr_init_standard()
.
15114 : Removes the restriction of the name
data type in pg_upgrade
.
14962 : Removes the restriction of tables with partitions belonging in a separate schema than the root partition in pg_upgrade
.
15096 : Fixes a bug with function execution in entrydb
query execution that reported incorrect number of rows.
15087 : Includes an error message when setting statement_mem
to a value greater than max_statement_mem
.
15152 : Enhances logging for dispatcher liveness checks to provide more descriptive error messages.
15016 : Resolves an issue where the associated metadata tracking rows in pg_stat_last_operation
were not being deleted when dropping a schema.
15005 : Resolves an issue where pg_upgrade
returned the error decompression information missing
if a column was dropped from an AO/CO table.
N/A : Resolves an issue where GPORCA derived an incorrect equality hash join condition for a character column and returned incorrect results because it grouped operator classes belonging to different operator families as equivalent.
32770 : Resolves an issue where a query that produced a Left Anti Semi Join (LASJ) (NOT IN) plan node was gathered and run on the Greenplum Database master host, generating many spill files and ultimately returning an Out of Memory
error. GPORCA now ignores the optimizer_penalize_broadcast_threshold
configuration parameter setting when a LASJ requires a replicated distribution.
32665 : Resolves an issue where GPORCA generated a suboptimal plan because it did not push down a filter used in a BETWEEN
predicate.
14896 : Resolves an issue where the Query Optimizer produced a faulty plan for certain CTE queries during distribution of sequence children. GPORCA now disallows replicated distribution when the required distribution in sequence is a singleton on master, or when it is a non-singleton with replicated disallowed.
N/A : Resolves an issue where an external table custom formatter had no access to the last line of data it was reading due to incorrect handling of an EOF condition.
32587 : Resolves an issue where a gpfdist
process exited because another gpfdist
process occupied the same port number (one using an IPV4 socket, one using an IPV6 socket).
32708, 14644 : Resolves an issue with a pg_class
catalog table inconsistency after analyzing a table with a dropped subclass.
gpexpand
did not replicate the
pg_auth_time_constraints
,
pg_description
, or
pg_shdescription
tables to new segments because those tables were incorrectly designated as belonging only to the Greenplum master segment. The problem was fixed by removing the tables from the master-only tables list.
gpcheckperf
, when used without the
-S
option, incorrectly calculated that a system had twice the actual avaialble memory. This could lead to
File System Full
errors during filesystem checks.
gpcheckperf
with the
-V
flag (very verbose mode). Now, when
gpcheckperf
runs in very verbose mode, calls to
gpssh
are made without verbose mode enabled.
gpstop
would sometimes fail to stop all postgres PIDs because the method it used to create the full list of PIDs was not reliable. This problem was fixed by using the postmaster PID to get the list of child processes before stopping the postgres server.
Release Date: 2023-05-02
VMware Greenplum 6.23.5 is a maintenance release that includes changes and resolves an issue.
Greenplum Database 6.23.5 includes this change:
The diskquota
module was updated to version 2.2.1, which includes these changes and bug fixes:
diskquota
supported 1024 of each type of quota. diskquota
2.2.1+ supports 128 * 1024
quota types.diskquota
refreshed more often than necessary when it received a signal. Additional checks were added to ensure that diskquota
refreshes only once per diskquota.naptime
time period.Refer to the diskquota module documentation for installation and upgrade instructions
Release Date: 2023-03-24
VMware Greenplum 6.23.4 is a maintenance release that resolves several issues, changes a feature, and introduces a new feature.
When the optimizer_penalize_broadcast_threshold
GPORCA server configuration parameter is set to 0
, GPORCA now sets the broadcast threshold to unlimited and never penalizes a broadcast motion. Previously, when the this parameter was set to 0
, GPORCA would penalize any broadcast over 0
rows.
gp_segment_configuration.hostname
instead of
gp_segment_configuration.address
. This implementation can result in a lower memory limit value compared to the earlier code, for deployments where each host uses multiple IP addresses. In some cases, this change in behavior could lead to Out Of Memory errors when upgrading from an earlier version. Version 6.23.4 introduces a configuration parameter,
gp_count_host_segments_using_address
, that can be enabled to calculate of segment memory using
gp_segment_configuration.address
if Out Of Memory errors are encountered after an upgrade. This parameter is disabled by default. This parameter will not be provided in Greenplum Version 7 because resource group memory calculation will no longer be dependent on the segments per host value.
pg_rewind
returned the error
"pg_log" is of different type in source and target
when the
pg_log
directory on a primary and/or mirror segment was a symbolic link.
gpload
, when invoked in update or merge mode, returned an error when it created its staging table with the same distribution key as the target table, but that column was not present in the staging table. This issue is resolved.
gpload
now attempts to use the match columns as the distribution key of the staging table, or provides no distribution clause at all.
Release Date: 2023-03-03
VMware Greenplum 6.23.3 is a maintenance release that resolves several issues.
MADlib version 1.21.0 is available. This release includes additional fixes and features as described in the MADlib Release Notes.
gppkg
).
[N/A] The maximum value of the gp_resource_group_cpu_priority
configuration parameter has been changed from 256 to 50 to prevent system peformance degradation.
[N/A] Resolves an issue where gpbackup
was generating the CREATE TABLE ... PARTITION BY
command with syntax errors, due to incorrect printing of signed constants.
58P01
: could not open file
operator does not exist: timestamp9 pg_catalog.<= timestamp9
during insertion of a
timestamp9
type column into a partitioned table. This issue is resolved; Greenplum now uses the
opclass
to retrieve an operator for a partitioned table.
pg_dump
external partition handling. It also removes the
pg_upgrade
restriction against external partitions.
14923 Resolves an issue where changing the distribution key of an append-optimized table was causing pg_upgrade
to fail.
pg_catalog
schema, or was not searchable in the session
search_path
. The software was modified to obtain the correct schema-qualified operator from the
PARTITION BY
clause during the upgrade process.
pg_upgrade
as part of an upgrade process, which generated the error
ERROR: decompression information missing
.
ORDER BY
clause to an outer reference.
minirepro
diagnostic tool did not collect view statistics nor DDL when the query contained an
EXPLAIN
command.
pg_controldata
output for target segments in case of a recovery failure.
Release Date: 2023-02-09
VMware Greenplum 6.23.1 is a maintenance release that resolves several issues.
SELECT
with a
LIMIT
clause against a table when using the
greenplum_fdw
module.
NOT IN
clause.
gp_autostats_mode_in_functions
did not operate correctly in some cases where a
COPY
or
CREATE TABLE .. AS
operation ran inside a procedure.
DISTINCT
clauses when using the Postgres Planner.
could not access status of transaction <tid>
because it could not execute any queries that involved distributed snapshots.
gpexpand.status_detail
table (generated during expansion) to be distributed by the table object identifier to more optimally distribute the workload.
pg_dump
to ensure that the VMware Greenplum Upgrade utility upgrades check constraints.
ctid
system column values, and querys that used the indexes of those tables would return incorrect results. The problem was resolved by preserving the
gp_fastsequence
table during the upgrade process.
permission denied for schema <name>
during a
CREATE INDEX
operation when the owner of the table was not the current user.
INCLUDING COMMENTS
or
INCLUDING ALL
clauses was specified.
EXPLAIN ANALYZE
output.
INITPLAN
clause to the
EXECUTE ON
options in the help text for
CREATE FUNCTION
.
ALTER TABLE ... SET WITH (reorganize)
invoked on an AOCO table removed some of the table's
reloptions
in the
pg_appendonly
catalog. These options are now retained after reorganizing.
date
and
timestamp
).
INSERT
to an append-only table when the
RETURNING
clause was used to return the
ctid
system column value. A similar issue was resolved for
INSERT
s to a table having a trigger that returns the
ctid
system column value.
Release Date: 2022-12-21
VMware Greenplum 6.23.0 is a minor release that includes new and changed features and resolves several issues.
Greenplum Database 6.23.0 includes these new and changed features:
The CREATE TABLE
command includes a new storage parameter -- analyze_hll_non_part_table
-- which allows you to force collection of HLL statistics even if the table is not part of a partitioned table.
The gpmt gp_log_collector
command now takes a new option -- -with-gpcc
-- which collects Greenplum Command Center logs from a variety of locations, including:
$GPCC_HOME/logs/*
$GPCC_HOME/conf/app.conf
$HOME/gpmetrics/*
(Greenplum Command Center 6.8.0+ on Greenplum Database 6.x or Greenplum Command Center 4.16.0+ on Greenplum Database 5.x)$MASTER_DATA_DIRECTORY/gpmetrics
(Greenplum Command Center 6.7.0- on Greenplum Database 6.x or Greenplum Command Center 4.15.0- on Greenplum Database 5.x)gppkg -q --all
commandThe gpmt gp_log_collector
command now takes a new option -- with-gpss
-- which collects all logs relevant to Greenplum Streaming Server.
The CPUSET
syntax for reserving CPU cores for a resource group has changed to require separate separate core specifications for the master host and segments hosts. When using CPUSET
with CREATE RESOURCE GROUP
or ALTER RESOURCE GROUP
you must configure cores for the master host first and then segment hosts, using a semicolon to separate the two. For example, CPUSET='1;1-3'
configures core 1 for the master host, and cores 1 through 3 for segment hosts.
The Greenplum Database cluster management utilities now use version 5.7.0 of the psutil
Python library.
The embedded Python distribution is updated to version 2.7.18.
Greenplum Database 6.23 limits the number of supported CUBE
grouping columns to a maximum of 12.
Improves analyzedb
performance when it operates on a large number of tables.
The gpsd
and minirepro
diagnostic tools now include the number of segments in their command output.
The performance of the minirepro
diagnostic tool is improved by using the Postgres Planner instead of the Pivotal Query Optimizer during minirepro
restore.
Backports upstream PostgreSQL pg_dump
performance enhancements.
Includes pgcrypto
module changes to facilitate testing.
The license file for the Windows Client and Loader Tools Package is updated with new terms.
Greenplum Database 6.23.0 introduces three new modules:
Version 6.23.0 introduces the following new server configuration parameters:
The diskquota
module was updated to version 2.1, which includes these changes:
diskquota
can now monitor up to 50 databases.diskquota.max_active_tables
is changed to 300 * 1024
to reduce default memory usage.diskquota
adds a new configuration parameter, diskquota.max_workers
, that you can set to specify the maximum number of diskquota worker processes that may be running at one time.diskquota
also adds the diskquota.max_table_segments
configuration parameter. You can set this parameter to specify the maximum number of table shards supported by diskquota
in the Greenplum Database cluster, which gates the number of tables that it can support.Refer to the diskquota module documentation for installation and upgrade instructions.
32596 : Resolved an issue where Greenplum Database dereferenced a null pointer and PANIC
ed during execution of a query that included record-type parameters.
32567 : Resolved an issue where a query could not be terminated with pg_terminate_backend()
because Greenplum Database polled an invalid (-1
) file descriptor. Greenplum now removes invalid file descriptors from the polling list.
32557 : Resolved an issue where Greenplum Database returned the error correlated subquery with skip-level correlations is not supported
when it executed a query (that ran successfully in a previous version of Greenplum) that included a single-level correlated subquery.
32502 : Added additional logging code for resource queue events.
14465 : Resolved an issue where Greenplum Database returned the error no pre-assigned OID for relation ...
when an index was created with a WHERE
clause that invoked a function.
32573 : Resolved an issue where Greenplum Database was throwing a "PANIC","XX000","Unexpected internal error Master process received signal SIGSEGV" error due to incorrect handling of errors in the explain analyze phase of execution.
WITH (appendonly, orientation=column)
had no entries in
pg_attribute_encoding
, resulting in a table that could not be queried.
GRANT
and
REVOKE
statements that involved both partitioned and non-partitioned tables applied their changes only to partitioned tables, with no error or indication that non-partitioned tables were ignored. The code was modified to ensure that such statements are applied to both partitioned and non-partitioned tables.
pg_dumpall
, used by the VMware Greenplum upgrade utility, did not correctly dump tablespaces in VMware Greenplum version 5.x databases.
pg_upgrade
error similar to:
could not open Append-Only segment file ""base/16410/20863.1665"": No such file or directory"
ERROR: external table <table> command ended with SHELL TERMINATED by signal SIGPIPE (13)
, with external table queries executed on the master segment when all tuples were not retrieved from a table scan. The problem was fixed by ensuring that squelching mechanics are applied after a SIGPIPE for queries that excecute on the master node, as they are applied for queries executed on segment nodes.
32481 : Resolved an issue where Greenplum Database cancelled a query due to high virtual memory usage when object identifier duplication caused GPORCA to fall back to the Postgres Planner. GPORCA can now handle object identifiers that are not unique across the system.
14155 : Resolves an issue where a query failed with the error data is corrupt
because GPORCA used an incorrect hashing function when it translated a constant value for a text-type domain.
N/A : Resolves an issue where a query that included a DynamicSeqScan with a subplan failed with the error Unexpected internal error
.
32190 : Resolved an issue where gprecoverseg
failed to detect than an instance of pg_basebackup
was already running, which led to the corruption of the data directory and a PANIC
error.
N/A : Resolved an issue where diskquota
failed to launch new background workers before a slots used by a previous worker was freed. Also changed the logging level for background worker events to less verbose (from INFO
to DEBUG1
).
N/A : Resolved an issue where, when running pg_basebackup
, the last WAL segment file could have a checksum mismatch across the primary and mirror segments.
14530 : Resolved an issue with the open source distribution of Greenplum Database where the installation package was missing required Python libraries.
Release Date: 2023-07-28
VMware Greenplum 6.22.3 is a maintenance release that resolves a single issue.
gpfdist
was loading data from an external table and the connection between
gpfdist
and the segment was broken. Previously the code did not probe
gpfdist
connections for keepalive messages, so if the connection was broken the segment would hang indefinitely, waiting for an end-of-file (EOF). This problem was resolved by ensuring that keepalive parameters are set and enforced for
gpfdist
connections.
Release Date: 2022-11-18
VMware Greenplum 6.22.2 is a maintenance release that resolves several issues.
PANIC
errors.
CREATE INDEX
command on an AO/CO table would hang if there was a pre-existing read-only transaction accessing the same table.
VACUUM
command due to an internal data structure not being correctly initialized.
DELETE FROM
queries on AO/CO auxiliary tables were erroring out.
pg_dump
where, during
gpcopy
operations, external leaf tables were copied as heap tables instead of external tables.
GROUP BY
clause (as distinct).
pg_upgrade
failed when it restored an external table that had a dropped column(s).
PANIC
error occurred after an attempt to split a partition into a new partition and a default partition on a table that did not have a default partition.
"PANIC","XX000","Unexpected internal error: Master process received signal SIGSEGV
occurred after executing a query that included an unsupported feature.
14107 : Resolved an issue where Greenplum Database returned the error operator 37 is not a valid ordering operator
because it incorrectly generated a sort operator and equality operator when the types of left and right operand differed.
14003 : Resolved a compile warning by replacing a strncpy()
call with memcpy()
.
false
.
UNION
queries if the output column for the first child of the
UNION
was dropped in the projection, making statistics for the column unavailable. The problem was resolved by ensuring that none of the project eleents are dropped.
gp_segment_id
on conjunction constraints.
ANY
subquery to the outer relation.
minirepo
was run on a query that accessed a materialized view.
pgbouncer
problem where admin users logging into the pgbouncer database were logged in as the
pgbouncer
user instead of as the configured
admin_user
.
Release Date: 2022-10-07
VMware Greenplum 6.22.1 is a maintenance release that resolves several issues.
gp_log_interconnect
configuration parameter. The parameter value is now taken into consideration in the
ic_proxy
logging mechanism.
archive_mode=on
.
psql
command
\d+
now shows correct index information for append-only auxiliary tables.
REINDEX TABLE
on a partitioned table from within a PL/SQL function. Because
REINDEX TABLE
on partitioned table expands the table and starts a new transaction to reindex each table, the operation cannot be rolled back and may crash if called within PL/SQL. The code was modified to prevent this operation from running inside of a function.
gpcheckcat
incorrectly flagged default privilege objects as having missing dependencies.
gpactivatestandby
promotion could fail because the process did not wait long enough for the walreceiver process to shut down. The problem was fixed by synchronizing the standby promotion timeout value with the mirror promotion timeout value.
Release Date: 2022-09-09
VMware Greenplum 6.22.0 is a minor release that includes new and changed features and resolves several issues.
Greenplum Database 6.22.0 includes these new and changed features:
Greenplum Database now includes a plugin that allows you to monitor Greenplum Text clusters via Greenplum Command Center. For more information, see Monitoring Greenplum Text.
A new extension, plpython3u
, is provided to support developing Python 3.9 functions with PL/Python. See PL/Python Language. An additional Data Science Package for Python is provided to install common Python 3.9 modules for developing plypython3u
functions. See Data Science Package for Python.
The Data Science Package for Python 2.7 was updated to add the regex
package. The package versions for lxml
, nltk
, tenserflow
, tenserflow-gpu
, and keras
were updated to address CVEs.
pg_dump
performance was improved to reduce the time required to dump database schemas during the upgrade process. This especially benefits clusters that have a large number of append-optimized tables.
Greenplum Database now includes a view -- gp_suboverflowed_backend
-- created by the new extension gp_subtransaction_overflow
-- to help users query for suboverflowed backends. Users can use segment id and process id information reported in the view to terminate the offending backends, thereby preventing degradation of performance. For more information, see Monitoring a Greenplum System.
Greenplum Database now includes an extension -- gp_pitr
-- to support implementing Point-in-Time Recovery for Greenplum Database 6X. gp_pitr
creates a new view -- gp_stat_archiver
-- and two new internally used user-defined functions. For more information, see Additional Supplied Modules.
The pgcrypto
extension was updated to support FIPS encryption via the pgcrypto.fips
configuration parameter. See Configuring FIPS Encryption in the pgcrypto
documentation.
The diskquota
module was updated to version 2.0.1, and introduces a change to logging behavior. Now, if the diskquota
module is enabled in a database that has existing data but you do not run the diskquota.init_table_size_table()
function, a single error message is logged when the Greenplum cluster starts up. In earlier versions of diskquota
, the error message was logged repeatedly (approximately every 2 seconds) and could flood the log monitor system with the same error.
Greenplum Database introduces a new server configuration parameter, optimizer_enable_replicated_table, that you can use to control GPORCA's behavior when it encounters DML operations on replicated tables. By default, GPORCA attempts to plan and execute operations on replicated tables.
Greenplum Streaming Server (GPSS) version 1.8.0 is included, which includes new features, changes, and bug fixes. Refer to the Greenplum Streaming Server Documentation for more information about this release and for upgrade instructions.
The s3
protocol now supports obtaining S3 authentication credentials from the default AWS credential file, ~/.aws/credentials
.
gpfdist
now supports reading and writing files compressed with the Zstandard compression algorithm.
The file
protocol now supports reading files compressed with the Zstandard compression algorithm.
Greenplum Database 6.22.0 introduces a new module, ip4r, that provides data types for operations on IPv4 and IPv6 IP addresses.
Greenplum Database 6.22.0 introduces a new module, postgresql-hll, that provides HyperLogLog data types for PostgreSQL and Greenplum Database.
The gp_percentile_agg module has been updated fix a bug and to generate more performant plans for ordered-set aggregates with skewed data. If you are currently using this module, you must upgrade the module after you upgrade Greenplum Database.
Greenplum Database 6.22.0 adds the f_smgr
public interface for storage operations.
The performance of gpexpand
computation of table size has been improved.
The PgBouncer distributed with Greenplum Database 6.22.0 adds support for native LDAP authentication between the psql
client and the pgbouncer
process. Refer to Configuring LDAP-based Authentication for PgBouncer for configuration information.
Greenplum Database supports configuring the ldapsearchfilter
attribute in pg_hba.conf
. You can optionally use this attribute to provide a search filter to use when doing search+bind authentication. See LDAP Authentication.
Greenplum Database improves pg_dump
performance by gathering AO metadata in a single query.
The VMware Greenplum Connector for Apache NiFi version 1.1.0 is available, which includes a change. Refer to the Greenplum Connector for Apache NiFi Documentation for more information about this release.
The gpmt gp_log_collector
utility now includes the --with-gpbackup
option to collect logs related to backup and restore operations. See gpmt gp_log_collector.
The DataDirect ODBC drivers were updated to version 7.1.6+7.16.445 to include the latest fixes and to no longer require acceptance of a separate licensing agreement. If you have installed a DataDirect ODBC driver version 7.1.6+7.16.389 or earlier, see Upgrading DataDirect ODBC Drivers. The new version resolves a compatibility issue with the Greenplum Direct Query Custom .pqx connector and Microsoft's PowerBI Gateway. Both the ODBC driver and .pqx connector must be upgraded on Desktop and Gateway systems.
32398 : Fixes double freeing of a buffer during stream teardown that resulted in a PANIC.
32384 : Resolves an issue where a CTE query that involved several columns caused Greenplum Database to PANIC.
32381 : Resolves Postgres CVE-2022-2625, Extension scripts replace objects not belonging to the extension.
32271 : Resolves an issue where SELECT
or other read-only operations resulted in setting hint bits on pages, which generated Full Page Images (FPI) WAL records, and introduced a large replication lag. Greenplum Database now extends the use of the wait_for_replication_threshold
server configuration parameter for this scenario.
32063 : Resolves an issue where gpupgrade execute
ran slow due to inefficient and repetitive pg_dump
metadata queries.
31879, 32167 : Subtransaction overflows that are causing performance problems can now be easily identified and terminated.
31298 : Resolves an issue where a big lag between the primary and mirror during incremental recovery halted transactions on the primary.
14041 : Resolves an issue where creating a bitmap index on a column, and using the bitmap index to scan with a NULL array condition on this column, failed.
13929 : Resolves an occasional overflow state by adding a GUC to control the output of a suboverflow transaction SQL statement.
13902 : Resolved an issue where the current client_encoding is applied as the default value, causing a problem when client encoding is different from server encoding. The problem is fixed by using GPDB server encoding by default, whether it is QD or QE, making the default encoding of external tables the same as the database encoding.
13888 : Resolves an issue where a query on a replicated table that was created from INSERT INTO
SELECT FROM
another replicated table returned incorrect results when sequence generation was involved.
13883 : Fixed potential memory leak by using delete to destroy objects allocated by new[].
13882 : Fixes query time failures caused by escaped characters in S3 URLs.
13614 : Improves performance by adding a GUC to control the output of suboverflow SQL statement transactions.
32273 : Adds server configuration parameter optimizer_enable_replicated_table
, which is on
by default, to control GPORCA planning and execution of operations on a replicated table. GPORCAfalls back to the Postgres Planner when this parameter is set to off
.
13811, 8194 : Removes unnecessary null pointer checks in gpcloud.
13882 : Replaces escape characters with spaces in s3
protocol URLs to prevent query time failures.
31797 : Resolves an issue with s3
protocol S3 authentication by adding support for obtaining credentials from the default AWS credential file.
32029 : Resolves a pg_exttable
catalog table encoding mismatch by defaulting to the server encoding.
32365 : Resolves a gpfdist
performance issue by adding support for Zstandard compression.
gpinitsystem
could throw an error when running with the debug (
-D
) option.
gpexpand
would repeat the error
Port <port-number> used multiple times on <host-name>
if a segments were not in their preferred roles.
gpexpand
now correctly assigns port numbers in this case, but generates a warning message to indicate that segments are not operating in their preferred roles.
Release Date: 2022-10-28
GROUP BY
clause (as
DISTINCT
), because the sublink could not be converted to a join.
Release Date: 2022-08-25
32358 : Index creation is now allowed on partitioned tables containing external partitions. Creating a non-unique index on a partitioned table will ignore external partitions, but fail if any of the indexes is a constraint index.
32293 : Updates the index VACUUM
strategy for Append-Optimized tables to correctly determine when an index entry can be removed. An index entry is now removed only after ensuring that the entry points to a droppable segment, and is therefore already invisible.
31941 : LDAP bind credentials that were leaked to the log after failed login attempts are no longer a security risk.
13860 : The EPQ routine for AO/AOCS relations and DML node has been disallowed.
13699 : Duplicate gp_fastsequence
values (ctid
) no longer appear in AO tables.
32348 : Non-optimal plans that caused queries to hang were fixed by setting the number of rebinds (rescans) correctly when statistics are copied.
Release Date: 2022-08-03
Greenplum Database 6.21.1 includes a new metrics collector extension that is compatible with Greenplum Command Center 6.8.
13881 : Resolves an issue in transaction processing where transactions were erroneously rolled back because gang processes were being deleted.
12690 : Resolves an issue where, when a memory limit was hit, a query was throwing errors without calling the correct cleanup function.
13874 : Resolves an error handling issue that caused PANIC errors during query execution.
32237 : Fixes for PostgreSQL CVE-2022-1552 have been backported to secure Autovacuum
, REINDEX
, and other commands that activate relevant protections too late or not at all.
32211 : A pg_upgrade
check for parent partitions with seg entries was added to prevent upgrade failure, and logicalEof was added to errdetail in OpenAOSegmentFile
.
32210 : Primary now writes a special WAL at the place where the mirror is supposed to continue streaming the rest of the broken WAL.
31937 : pg_resetxlog
infrastructure is used to set the oldest xid instead of freezing the catalog, preventing CLOG truncation during a segment upgrade.
FATAL: Unexpected internal error (list.c:395)
, that could occur when creating a plan for a correlated subquery against a partitioned table. The problem occurred in some queries when an InitPlan could not be created, and the planner generated copies of nested subplans in the wrong order. The fix ensures that first level subplans and nested suplans are generated correctly in this situation.
13694 : A fix for the logic in pg_lock_status()
that keeps it from missing some rows and counting others twice has been backported.
runaway_detector_activation_percent
was deactivated (set to 100).
13675 : An error is thrown when COPY FROM/INSERT will result in inserted data being invisible to user queries issued from master.
"FATAL" error "Unexpected internal error (vmem_tracker.c:436)","Process 399817 will wait for gp_debug_linger=120 seconds before termination
, that could occur during initialization when resource groups were enabled.
11662 : Appendoptimized materialized views now have invalid relfrozenxid.
CREATE EXTENSION WITH SCHEMA
failed because VMware Greenplum did not set up the
search_path
on both the Query Dispatcher and the Query Executor before executing the extension script.
32302 : Prevents optimizer from crashing during query optimization due to lack of statistics.
32273 : Adds a GUC that keeps queries on distributed replicated tables from hanging when using ORCA by controlling fallback for replicated tables.
32238 : ORCA now requires an index type to properly cost bitmap scans before performing full table scans.
32233 : Eliminates query performance difference between GPORCA and Postgres.
32125 : The master logger process that was creating high load on master, causing segments to go down, was fixed by processing the string with two kinds of modification.
32061 : ORCA now prevents creation of spill files by pushing cast operations below the join when safe.
13746 : Fallback to Postgres optimizer when a target list in CTE producer is empty.
13683 : Fixes incorrect addrefs that caused memory leaks.
The line delimiter specified in the Formatter arguments: < 3> is not located in the data file
even though the text was formatted correctly. The problem occurred because the code did not handle the situation where the end of a buffer coincided with the end of the data (and therefore does not include an expected newline character).
gpfdist
crash that could occur during session clean up if a session timed due to a disk full condition. Instead of crashing,
gpfdist
now logs an error for this condition.
1102 : Resolved an issue where users were seeing WARNINGS in gpinitsystem logs when there was a mismatch between what the hostname
utility reported and the actual segment host name.
1042 : Resolved an issue where "command not found" warnings were seen during deployment of Greenplum.
1034 : Resolved an issue where deployment would fail if the segment count was equal to 1 or odd numbers for Mirrored Greenplum deployments.
844 : Resolved an issue where a manual shutdown of the Guest OS would show a 'failed' state for the Greenplum Virtual Service.
Release Date: 2022-06-10
VMware Greenplum 6.21.0 is a minor release that includes new and changed features and resolves several issues.
CautionBeginning in version 6.21.0, the Resource Groups implementation was changed to calculate segment memory using
gp_segment_configuration.hostname
instead ofgp_segment_configuration.address
. This implementation can result in a lower memory limit value compared to the earlier code, for deployments where each host uses multiple IP addresses. In some cases, this change in behavior could lead to Out Of Memory errors when upgrading from an earlier version. Version 6.23.4 introduces a configuration parameter,gp_count_host_segments_using_address
, that can be enabled to calculate of segment memory usinggp_segment_configuration.address
if Out Of Memory errors are encountered after an upgrade. This parameter is disabled by default. This parameter will not be provided in Greenplum Version 7 because resource group memory calculation will no longer be dependent on the segments per host value.
Greenplum Database 6.21.0 includes these new and changed features:
The LOCK TABLE
SQL command now includes a MASTER ONLY
option; when enabled, Greenplum Database locks tables on the master only, rather than on the master and all of the segments. This option is particularly useful for metadata-only operations.
The gp_parallel_retrieve_cursor contrib module is no longer Beta, it is promoted to a supported feature.
The greenplum_fdw contrib module is no longer Beta, it is promoted to a supported feature.
Greenplum Database now supports the SET TRANSACTION SNAPSHOT
command.
Greenplum Database 6.21.0 adds support for both the SCRAM-SHA-256
password hashing algorithm and the scram-sha-256
client authentication method. Refer to Protecting Passwords in Greenplum Database for more information.
Greenplum Database now includes a configuration parameter — gp_interconnect_address_type — to specify the type of address binding strategy Greenplum Database uses for communication between segment host sockets. This allows users, if their configuration permits, to specify that Greenplum use a unicast address — rather than a wildcard address — for interconnect sockets. This reduces port usage on segment hosts and prevents interconnect traffic from being routed through unintended (and possibly slower) network interfaces.
Log messages that are generated for connection checks between the Query Executor and Query Dispatcher now include the error number that was generated by the receiver.
Greenplum Database introduces a new server configuration parameter, gp_log_endpoints, that you can use to enable logging of parallel retrieve cursor endpoint details.
Greenplum Database introduces the new resource group server configuration parameter gp_resource_group_enable_recalculate_query_mem. The default value of this parameter is false
; Greenplum Database calculates the maximum per-query memory allotment for each segment host based on the memory configuration and the number of primary segments on the master host. If the memory configuration of your Greenplum Database master and segment hosts differ, set the parameter to true
so that Greenplum calculates the maximum per-transaction memory allotment for a segment host based on the configuration of that host.
Greenplum Database 6.21.0 introduces a new module, gp_percentile_agg, that you can use to improve GPORCA plan generation performance for queries that include ordered-set aggregate functions such as percentile_cont()
, percentile_disc()
, and median()
.
Greenplum Database 6.21.0 includes version 2.0 of the diskquota
module. This version introduces support for schema and role tablespace disk quotas as well as per-segment tablespace quotas. diskquota
can also now enforce quota hard limits; if a query exceeds a disk quota during execution, diskquota
terminates the query. Refer to the module documentation for more information and for upgrade instructions.
The VMware Greenplum Connector for Apache NiFi version 1.0.1 is available, which includes a change. See the Connector 1.0 Release Notes for more information.
The Greenplum Magic Tool (gpmt) family of tools now includes the gp_storage_rca_collector
tool, which collects storage-related artifacts. See the storage_rca_collector topic for details.
The gpmt gp_log_collector
tool now collects PXF logs and gpupgrade
logs. In addition, this tool has been enhanced to collect system initialization timestamps, /var/log/dmesg
content, and output from top
and sar
commands.
The PgBouncer distributed with Greenplum Database has been updated to version 1.16.1.
Greenplum Streaming Server (GPSS) version 1.7.2 is included, which includes changes and bug fixes. Refer to the Greenplum Streaming Server Documentation for more information about this release and for upgrade instructions.
For customers deploying Greenplum on vSphere, the following new features and changes have been introduced in this release:
The Greenplum Virtual Machine now provides a service running on the master VM that monitors the postmaster process and restarts the process if it fails. This improves the reliability and availability of the postmaster process. It is enabled by default.
The Greenplum Virtual Machine now provides a service running on each segment VM that monitors the segment process and restarts the process if it fails. This improves the reliability and availability of the segment process. It is enabled by default.
Greenplum on vSphere is now supported on vSphere 6.7 and higher.
Greenplum on vSphere now supports mirrorless Greenplum deployments.
The VxRail reference architecture has been updated to recommend 100GbE networking instead of 25GbE. Increasing the available network throughput significantly improves storage system performance and provides a more balanced system across resources.
The PostGIS spatial database extension version 2.5.4+pivotal.7.build.1
is included, which contains updated GEOS
and EXPAT
dependencies. Because the GEOS
geometry library is updated to version 3.10.2; PostGIS now includes support for the ST_Subdivide, ST_ClipByBox2D, ST_VoronoiLines, and ST_VoronoiPolygons functions.
32247, 13532 : Prevents panic in Planner by not bringing a SegmentGeneral path that refs outer Params to SingleQE.
32229 : Resolves a problem with TCP/UDP connections communicating across different subnets by adding a new GUC, gp_interconnect_address_type
, which allows users to switch from the wildcard default to a unicast IP address to support motion communication. (Resolved by PR-13344.)
32220 : Moves incrementing txns_using_rel
to follow ERROR reports to fix leaks in AppendOnlyHash entries. (Resolved by PR-13570.)
32213, 13549 : Resolves wrong date behavior by rejecting ambiguous 5 digit date strings in non-standard formats.
32173 : Resolves slow intermittent query response by using hostname instead of an IP address to compute the segment hosts. Because a typical Greenplum deployment has multiple IP addresses pointing to the same host machine, using IP addresses generally calculates the wrong number of segments and leads to a higher memory limit than intended. In some cases, this change in behavior could lead to Out Of Memory errors when upgrading from an earlier version. Version 6.23.4 introduces a configuration parameter, gp_count_host_segments_using_address
, that can be enabled to calculate of segment memory using gp_segment_configuration.address
if Out Of Memory errors are encountered after an upgrade. This parameter is disabled by default. This parameter will not be provided in Greenplum Version 7 because resource group memory calculation will no longer be dependent on the segments per host value.
32067, 32141 : Resolves an issue where OOM errors have occurred during queries by adding a new GUC, gp_resource_group_enable_recalculate_query_mem
.
32066 : Prevents gp_tablespace_segment_location()
from executing on entrydb
QE. (Resolved by PR-13287.)
31957 : Enhances OLAP performance by ensuring that both sides of the NOT-IN sublink testexpr
are non-nullable. (Resolved by PR-13420.)
13446 : Fixes incorrect scan position during bitmap index words scans. (Resolved by PR-13522.)
32205 : Falls back to Planner from ORCA if a target list is empty.
13467 : Resolves a cache lookup failure for attribute 0 of relation xxx from child inheritance/partition table to parent.
182378648 : Enables recursion for utility mode connections to propagate ALTER OWNER commands to child tables during pg_restore, which must run in utility mode.
n/a : Reverts a problematic commit that enclosed a check for interrupts (CFI) in a try-catch statement. (Resolved by PR-13568.)
n/a : Adds additional GUC defaults for ICW mirrorless tests. (Resolved by PR-13563.)
n/a : Provides checks on fatal exit status and outputs file location for users of pg_upgrade
. (Resolved by PR-13475.)
n/a : Fixes double freeing during a debug build that caused Assertion failure. (Resolved by PR-13472.)
n/a : Adds distributed snapshot support to pg_export_snapshot
. (Resolved by PR-13470.)
n/a : Allows LOCK TABLE to be conducted on MASTER ONLY to improve performance. (Resolved by PR-13463.)
n/a : Preserves append-optimized options for tables without indexes when creating internal tables from query results. (Resolved by PR-13461.)
n/a : Backports part of recovery TAP tests that can be supported on Greenplum 6 and related TAP framework changes. (Resolved by PR-13375.)
n/a : Restores visibility of some GUCs that were hidden from users' pg_settings
. (Resolved by PR-13353.)
n/a : Resolves suboptimal plans by enabling a GatherMerge alternative for non-EstMaster singleton distribution. (Resolved by PR-13294.)
n/a : Improves the authentication framework by backporting scram-sha256 to Greenplum 6. (Resolved by PR-13286.)
n/a : Resolves an issue where debug trace output was incorrectly reported at DEBUG3 level by adding an external boolean server configuration parameter, gp_log_endpoints
, to print endpoints information to server log. (Resolved by PR-13254.)
n/a : Upgrades pgbouncer
to support scram-sha256 to provide a strong password hash for Greenplum. (Resolved by PR-13146.)
n/a : Fixes queries with mode() aggregate crashes when QueryFinishPending
is set to true. (Resolved by PR-13096.)
31988 : Resolves performance differences between ORCA and Planner by generating an alternative that pushes aggregates below Materialize.
31995 : Adds support for ordered aggregates by preventing ORCA from falling back to Planner, which resulted in suboptimal performance for Madlib functions.
13242 : Enables a check to redistribute tuples before updating, preventing wrong results for ORCA plans that use split updates.
181905507 : Resolves an issue where Assertion failed in a debug build by accounting for the memory for the object.
32205 : Resolves cases where improper handling of empty target lists results in a crash.
181707276 : Resolves a DQA issue that did not include the aggregation stage in hash calculation.
n/a : Resolves an issue where ORCA pushed UDFs down to the segments, but made suboptimal cost comparisons between plans. (Resolved by PR-13384.)
n/a : Correctly represents Table Value Function in ORCA as a constant value, preventing it from returning incorrect results. (Resolved by PR-13535.)
n/a : Resolves an issue with incorrect results from replicated tables. (Resolved by PR-13058.)
n/a : Resolves a performance issue with ORCA producing suboptimal plans. (Resolved by PR-13327.)
180823003 : Resolves an issue where gpstate
was incorrectly reporting mirror segments as not initialized when they had been initialized using pg_ctl
. This was due to the mirror segment port number listed in postgresql.conf
being out of sync with the number listed in the gp_segment_configuration
table.
32209 : Creates gpload6
to update the data loading utility for Greenplum 6.x. (Resolved by PR-13465.)
32179, 31372 : Fixes a reported gpfdist
error, unknown meta type 108
. (Resolved by PR-13457, PR-13458.)
32169, 13448 : Fixes a crash that occurs when an error is thrown during cdbdisp_destroyDispatcherState
.
n/a : Fixes a memory leak in SetupUDPIFCInterconnect_Internal() with read-only transactions. (Resolved by PR-10314.)
Release Date: 2022-06-02
VMware Greenplum 6.20.5 is a maintenance release that resolves two issues.
Release Date: 2022-05-18
VMware Greenplum 6.20.4 is a maintenance release that resolves a single issue.
32229, 32204 : The fix for 32140, added in Greenplum 6.20.3, introduced a regression. Interconnect failures could occur if multiple subnets where configured on the same host, but routing between the subnets was not enabled. This problem was resolved in version 6.20.4 by reverting the original fix.
Release Date: 2022-04-08
VMware Greenplum 6.20.3 is a maintenance release that resolves several issues.
32133 : Resolves an issue where an attempted failover to mirror segments resulted in a PANIC
error on all primary segments because FTS was failing the primary over prematurely.
32140 : Resolves an issue where queries were failing with the message “bind: Address already in use”. This was due to Greenplum Database running out of UDP ephemeral ports when creating listener and sender sockets for UDP interconnect, due to high concurrency (exacerbated by primary segment density -- the number of acting primaries on a given segment host).
32111, 13245 : Greenplum Database crashed during the redistribution phase of cluster expansion when processing an AO table that had an index because Greenplum ignored the storage options on the original table. Greenplum now reconstructs the storage options of the original table during this operation rather than use the current default storage options.
13920 : Removes platform-specific limitation from socket message type recognition logic by using int
.
13212 : Resolves an issue where the Postgres Planner returned the error unexpected join qual in JOIN_LASJ_NOTIN join
while planning a query that included a multi-column NOT IN
with a NULL
constant value.
13202 : Updates the Postgres Planner to allow direct dispatch of gp_segment_id
and include it as a distributed column constraint.
32160 : Resolves an issue where rebalancing segments with gprecoverseg -r
was failing with timeout errors. This has been resolved by increasing the timeout value for promoting mirror segments to primary.
32130 : Resolves an issue where an ANALYZE
operation on a table that included an xml
-type column took a long time to complete because there is no equality operator for the type.
13172 : Resolves an issue where GPORCA might crash when a strict function with zero arguments was used as a filter for NULL rejection.
181646913 : Resolves a C++ compiler and nullptr
usage mismatch by using NULL
instead.
32076 : Resolves an issue where Greenplum Database ignored the ON MASTER
clause provided in a writable external table definition that specified the s3
protocol. Greenplum now fully supports ON MASTER
for s3
writable external tables.
31730 : Improves gpload
by choosing a better default distribution key for the staging table. gpload
now uses the distribution key(s) of the target table as the distribution key(s) for the staging table. If the target table was created DISTRIBUTED RANDOMLY
, gpload
uses the MATCH_COLUMNS
as the staging table's distribution key(s).
181229489 : Resolves an issue where gpload
did not recognize special characters like capital letters in a staging table name when the name was enclosed in double quotes.
13399 : Adds SSL connection regression test cases.
Release Date: 2022-03-25
VMware Greenplum 6.20.1 is a maintenance release that resolves several issues.
VMware Greenplum 6.20.1 resolves these issues:
32136, 13292 : Resolves an issue where queries using recursive CTE with a window function or an ordered set aggregate function (special aggs) would cause a PANIC.
UPDATE
query that included a
NOT IN
operator identified that one row was updated, when in fact the row was not updated.
minirepro
returned the error
cache lookup failed for relation N
due to Greenplum's special handling of a type conversion from
unknown
to
text
.
32050 : Resolves issues with error check with pg_upgrade check mode. Upgrade checks are now allowed to progess even if there are failures, and can also check the target cluster.
DECLARE ... PARALLEL RETRIEVE ...
command is invoked, but the
gp_parallel_retrieve_cursor
extension is not registered in the database.
gpstate -e
on the master generated the message
FATAL","57P03","connections to primary segments are not allowed
.
could not determine which collation to use
when a query used a Nested Loop Index join, and the join condition included a function like
upper()
; GPORCA now propogates collation information in this case.
ALL
operator that had an implicit cast on the left-hand side of the expression.
VMware Greenplum 6.20.0 is a minor release that includes feature changes and resolves several issues.
Greenplum Database 6.20.0 includes these new and changed features:
ImportantA kernel issue in Red Hat Enterprise Linux 8.5 and 8.6 can cause I/O freezes and synchronization problems with XFS filesystems. This issue is fixed in RHEL 8.7. See RHEL8: xfs_buf deadlock between inode deletion and block allocation.
NoteFor existing VMware Greenplum 6.20 or later deployments, VMware does not support upgrading the underlying operating system from RHEL7 or earlier to RHEL8 without also rewriting the database data. If you upgrade the operating system to RHEL8, you must also rewrite the Greenplum data by restoring a full backup that was created using
gpbackup
, or by using the VMware Greenplum Data Copy Utility (gpcopy
).
PostGIS 2.5.4+pivotal.6.build.1 is included to provide support for deployment on Red Hat Enterprise Linux 64-bit 8 (RHEL8).
MADlib version 1.19.0 is included to provide support for deployment on Red Hat Enterprise Linux 64-bit 8 (RHEL8). This release includes additional fixes and features as described in the MADlib Release Notes.
Mirrors can now be added, recovered, or moved independently of each other. This has two consequences:
Previously, Greenplum Database required that when adding, recovering, or moving mirrors, all mirrors had to successfully complete the pg_basebackup
phase before any mirrors could be marked as up
. Now, mirrors that successfully complete pg_basebackup
can be marked as up
independently of other mirrors.
Previously, if adding, recovering, or moving mirrors failed during pg_basebackup
then none of those mirrors would be marked as up
and the user would have to re-run these operations for all mirrors. Now, the user only need re-run these operations for those mirrors that failed during pg_basebackup
.
The Console now provides more detailed information on failures during moving, recovering or adding mirrors. Specifically, it reports the hostname and port number of the mirrors that failed to be moved/recovered/added. It also includes the location of log files for failed pg_basebackup
and pg_rewind
operations, and the location of the data directory for pg_ctl
start failures.
The gpstate -e
command now includes an additional section in its output: "Segments in recovery." This section reports on the progress of each segment's recovery. Specifically, for each segment it reports:
gp_log_collector
now collects data from pg_db_role_setting
instead of pg_settings
and now collects settings related to resource groups.
The Query Optimizer (GPORCA) improves query performance by supporting query plan generation for ordered aggregates. You can configure GPORCA to generate query plans for ordered aggregates by setting the new optimizer_enable_orderedagg server configuration parameter to true
.
The Query Optimizer (GPORCA) now supports bitmap scans on partitioned tables that contain both heap and AO partitions.
Greenplum 6.20.0 now bundles the btree_gin PostgreSQL contrib module. This module provides sample generalized inverted index (GIN) operator classes that implement B-tree equivalent behavior for certain data types.
Greenplum 6.20.0 now bundles the pg_trgm PostgreSQL contrib module. This module provides functions and operators for determining the similarity of alphanumeric text based on trigram matching. The module also provides index operator classes that support fast searching for similar strings.
The pageinspect module now includes support for bitmap indexes as described in the module documentation. If you are currently using the module in a database, you must upgrade the module to access the new functionality.
Greenplum 6.20.0 introduces the new contrib module gp_array_agg. This module implements a parallel array_agg()
aggregate function for Greenplum Database.
Greenplum 6.20.0 introduces support for retrieving data, in parallel and on demand, directly from Greenplum Database segments via the new gp_parallel_retrieve_cursor (Beta) contrib module.
Greenplum 6.20.0 introduces support for accessing data stored in one or more external Greenplum Database clusters via the new greenplum_fdw (Beta) contrib module, which implements a foreign-data wrapper.
The gp_sparse_vector contrib module includes a bug fix. If you are currently using the module in a database, you must upgrade the module to obtain the fix.
The CREATE SERVER
command exposes a new OPTIONS
named num_segments
. The greenplum_fdw
foreign-data wrapper supports this option; you use it to identify the number of segments in the remote Greenplum Database cluster.
Greenplum Streaming Server (GPSS) version 1.7.0 is included, which includes new and changed features and bug fixes. Refer to the Greenplum Streaming Server Documentation for more information about this release and for upgrade instructions.
The PXF version 6.3.0 distribution is available with this release; you can download it from the Release Download directory named Greenplum Platform Extension Framework on Broadcom Support Portal under the desired Greenplum release. Refer to the PXF documentation for information about this release and for installation and upgrade instructions.
For customers deploying Greenplum on Dell EMC VxRail, the following enhancements have been introduced to the guidelines, and reference templates:
VMware Greenplum 6.20.0 resolves these issues:
gpstop
was throwing an error and failed to stop the cluster if the standby master host was unreachable.
gp_array_agg
hash aggregate that can be used in this circumstance.
SELECT * from <view>
was intermittently failing with the message "FATAL: Internal error: Using fd > 65535 in MPP_FD_SET".
gp_sparse_vector
module where using the
==
operator against a
NULL
operand generated a PANIC.
Resolves an issue where calling the gpmt
utility with the primarymirror_lengths
option was failing due to unavailability of the pg_filespace_entry
table. Queries have been updated to use the gp_segment_configuration
table instead.
Resolves an issue where calling the gpmt
utility with the tablecollect
option was failing because the pg_class
table no longer has the reltoastidxid
column.
gpload
occasionally failed and reported the error
GC object already tracked
due to a double-free of an object.
Release Date: 2022-03-11
VMware Greenplum 6.19.4 is a maintenance release that resolves several issues.
VMware Greenplum 6.19.4 resolves these issues:
gpfdist
would fail to load some data in a
.gz
data file if the file contained multiple end-of-file (EOF) flags.
gpfdist
code was modified so that it continues reading from a
.gz
data file until it reaches the actual EOF flag.
pg_xlog
file growing in size with the checkpointer process hanging. The problem was resolved by ensuring that the segment number is not reset to 0 in this situation.
gpexpand
was failing with error "table has already been expanded partition prepare". The
gpexpand
code has been modified so that the expand script -- a two-stage process -- can be run again in the second stage if it fails in the first stage.
Release Date: 2022-02-25
VMware Greenplum 6.19.3 is a maintenance release that resolves several issues.
VMware Greenplum 6.19.3 resolves these issues:
gp_toolkit.gp_resgroup_status_per_segment
view returned the error
value ... is out of range for type integer
when the OID of a resource group was greater than 2^31.
pg_upgrade
check for heterogenous partition tables failed during a major version
gpupgrade
when a Greenplum Database 5.x partitioned table included a dropped column(s).
ALTER TABLE ... SET WITH (REORGANIZE=false) DISTRIBUTED RANDOMLY
incorrectly triggered a data redistribution.
CREATE TABLE .. AS (...) WITH NO DATA
could crash the server when
pg_attribute_encoding
was omitted.
=ALL
operator. This issue is resolved.
gpload
, when
REUSE_TABLES: true
, could not find a staging table to reuse, and failed to create the staging table in the
public
schema. This issue is resolved;
gpload
now creates staging tables in the same schema as specified by
EXTERNAL: SCHEMA:
.
RPATH
values for PostGIS and dependent library (
.so
) files. With this fix, you can use
gpupgrade
on systems that have data of PostGIS-defined types including
geometry
,
geography
, etc., provided that the latest build of
PostGIS 2.1.5+pivotal.3 is installed on both the Greenplum Database 5 and Greenplum Database 6 clusters.
Release Date: 2022-02-11
VMware Greenplum 6.19.2 is a maintenance release that resolves several issues.
Greenplum Database 6.19.2 includes these changes:
VMware Greenplum 6.19.2 resolves these issues:
ERRORDATA_STACK_SIZE exceeded
during the execution of certain queries after an upgrade to version 6.19.0 or 6.19.1.
pg_rewind
was erroneously trying to delete the
gpbackup
default directory.
gpcheckcat
returned the error
invalid input syntax for integer
during the
orphaned_toast_tables
test because the command did not correctly handle a temporary toast table.
gpconfig
or
gpinitsystem -p
to set the value of a server configuration parameter(s) comments out any parameter setting in the
postgresql.conf
file whose name starts with the same text string.
gpinitisystem
was failing during the add mirrors portion of initializing, due to entries missing from the
pg_hba.conf
file.
INSERT
operation performed on a
gpfdist
external writable table both did not write the complete data set and reported no error. This issue is resolved;
gpfdist
now correctly reports and completes error processing when it encounters a retry failure due to poor network conditions.
Release Date: 2022-01-21
VMware Greenplum 6.19.1 is a maintenance release that resolves several issues.
Greenplum Database 6.19.1 includes these changes:
wal_level=minimal
, Greenplum Database now suppresses insert and truncate WAL records for mirrorless clusters to decrease disk space usage and to improve performance of AO/AOCO operations.acl
and owner
tests are no longer run by default when you invoke the gpcheckcat
utility. You can choose to run one or both of these test suites by specifying the -R
option to the command.gpexpand.status_detail
table includes a changed column (root_partition_name
is now named root_partition_oid
) and a new column (rel_storage
).VMware Greenplum 6.19.1 resolves these issues:
NOT IN / IN
construct was more performant when run on Greenplum 5.x compared to Greenplum 6.x.
gpexpand.status_detail
table did not allow for tracking partitions during expansion by expanding each leaf partition separately, in parallel.
nextval()
and subsequently cancelled all unfinished Query Executors.
INFO
-level message with the text
provided user name (<username1>) and authenticated user name (<username2>) do not match
because it performed an unnecessary authentication check.
amgetbitmap
definition with upstream PostgreSQL.
LWLock
panic error occurred when canceling a query that is waiting on a resource queue.
ALL
construct that could generate incorrect results or crash during execution.
could not determine which collation to use for string comparison
when the Query Optimizer could not determine the collation string to use for a string comparison when the column was generated by an expression.
analyzedb
because process interrupts were not being handled correctly.
ALL
operator. This issue is resolved.
31311 : Resolves an issue where gpcheckcat
ran slowly due to long-running acl
and owner
tests by removing these test suites from the default set of tests that are run.
Release Date: 2021-11-24
VMware Greenplum 6.19.0 is a minor release that includes feature changes and resolves several issues.
Greenplum Database 6.19.0 includes these new and changed features:
$GPHOME/pxf
), you must download and install a PXF rpm
or deb
package to continue using the service in your Greenplum Database 6.19.0+ cluster. See Upgrading Greenplum in these release notes and Upgrading PXF When you Upgrade Greenplum 6 for upgrade information.config_server
option. You can use this option in the CREATE EXTERNAL TABLE
LOCATION
clause to specify the http/https
server URL from which Greenplum Database obtains the s3
protocol configuration file.NEWLINE
property to the load control file. You can use this property to specify the type of line break present in text and CSV files that you load with the tool.on
to instruct Greenplum Database 6.19+ to enable the deprecated implicit conversion of a string with the timestamp format YYYYMMDDHH24MISS into a valid date/time type.true
.VMware Greenplum 6.19.0 resolves these issues:
memreport
utility was failing with the error
Unable to find postmaster process
due to incorrect parsing options.
gpinitsystem
failure that could occur if
.bashrc
was configured to display banner text. A marker has been added to the output so that
gpinitsystem
can ignore banner text when interpreting output messages.
gpstart -m -R
).
gpload
was reporting the error
No such file or directory",,,,,,"CREATE EXTENSION IF NOT EXISTS dataflow;
when connecting to a Greenplum Database 5.x. This fix checks the Greenplum version to determine whether it should create a new extension.
rpm
installers, so installing Greenplum does not overwrite the symlink if the install file is for a different major version.
EXPLAIN ANALYZE
query never completed by improving optimization time performance. GPORCA now deactivates the generation of nested loop join alternatives when a hash join is available.
MemoryContextContains()
.
exhaustive2
algorithm was causing performance regression.
gpload
reported the error
date/time field value out of range: <date>
when loading data originating in Greenplum 5 by introducing the new server configuration parameter
enable_implicit_timeformat_YYYYMMDDHH24MISS
.
global_deadlock_detector
was set to
on
, parallel update jobs could sometimes fail and cause a segment crash (SIGSEGV). When
global_deadlock_detector
is enabled, the Query Executor can become blocked by another transaction's UPDATE operation. However, when the Query Executor later became unblocked it would attempt to re-initialize all sub-plans even if they were not needed for the plan being re-evaluated. Greenplum now considers subplan motions when re-initializing, and correctly throws an error instead of causing a PANIC condition.
COPY
command using
SELECT
,
WHERE
and
ON SEGMENT
, Greenplum was not saving the segment data correctly. This issue is now resolved.
temp_tablespaces
. Now all spill files will use
temp_tablespaces
if set.
targetlists
with
generate_series
functions, and Index Only Scan plans.
numsegments
, were moved.
temp_tablespaces
is set.
pg_upgrade
check for line datatypes.
ORDER BY
and
DISTINCT ON
clauses in a subquery when it pulls up sublinks.
INSERT
operation running in the backend.
We thought we were done (...) but libpq says we are still busy
.
Release Date: 2021-10-29
VMware Greenplum 6.18.1 is a maintenance release that resolves several issues.
VMware Greenplum 6.18.1 resolves these issues:
INSERT
query that was run on a table containing a sequence column could not be cancelled. This issue is resolved; Greenplum Database now adds an interrupt check when it processes the next value of a sequence.
gprecoverseg
failed to bring a mirror segment back online. This was due to the checkpointer process on a newly recovered mirror failing because the recovery process was searching for a file that had been rightfully deleted.
contentId
(
%c
) parameter to the WAL
archive_command
and
restore_command
; this parameter identifies a WAL stream from a given segment.
Gpmon_Incr_Rows_Out()
that made the
rowsout
field of
gpperfmon qexec
packets incorrect for
Sort
nodes.
ALTER TABLE ... ADD COLUMN
operation was rolled back.
pg_xlogdump
utility was not providing sufficient information to assist in diagnosing bitmap index issues. This has been resolved.
pg_xlogdump
now includes bitmap-related information.
pg_log
utility was not providing sufficient information to assist in diagnosing bitmap index issues. This has been resolved. The bitmap index name is now included in Greenplum Database logs.
ANALYZE
was performed against a leaf partition as part of a transaction, statistics for the leaf were never merged.
ANALYZE
would first update the leaf statistics, but when checking to determine if all leaves have been analyzed, it would use a cache that did not include the updated number of rows. This would then trigger a sampling of the root table, which can be expensive. The problem was resolved by advancing the command counter to make the page and tuple updates visible when merging the leaf statistics.
select count(*)
query when it incorrectly handled a nested set-returning function.
Release Date: 2021-10-8
VMware Greenplum 6.18.0 is a minor release that includes feature changes and resolves several issues.
Greenplum Database 6.18.0 includes these new and changed features:
gpstate -e
and gpstate -s
commands now provide more detailed output about the status of primary-mirror segment WAL synchronization. Moreover, as part of these output changes:
gpstate -s
output fields Change tracking data size
, Estimated total data to synchronize
, and Data synchronized
output fields are now gone.Mirror status
field in gpstate -s
output for primary segments now has just two valid values: Synchronized or Not in Sync.string_agg( text )
function that is available in Greenplum 5; you may choose to use the module to aid migration to Greenplum 6.~/.gphostcache
file; the management utilities now use an alternate mechanism to map hostnames to interfaces.VMware Greenplum 6.18.0 resolves these issues:
log_lock_waits
GUC was enabled it resulted in spurious deadlock reports and orphaned wait queue states which, in turn, could lead to memory corruption of certain internal tables. This issue is resolved by disabling the
log_lock_waits
GUC.The
log_lock_waits
GUC is not supported by Greenplum Database.
ERROR: interconnect error: A HTAB entry for motion node 77 already exists
after creating the extension for the
ltree
module. This issue has been resolved.
VACUUM FULL
on a table that they had no permission to access could block further access to the table by currently running transactions. Greenplum Database now performs the permission check before it acquires a lock on the table.
UPDATE
statement included a subquery. This issue is resolved.
cannot create a unique ID for path type: 116
by disallowing the unique row id path when Greenplum Database encounters an index-only scan.
temp_tablespaces
setting when it generated temporary files during a sort operation on a large data set. Greenplum now places these temporary files in a tablespace specified in
temp_tablespaces
.
Command pg_ctl reports Master gdm instance active
because a mirror segment couldn't be recovered. This was due to the incorrect type of lock being used when creating or altering a resource group. This issue is resolved.
fixup_unknown_vars_in_setop
that would cause Greenplum Database to
PANIC
.
--wrapper
and
--wrapper-args
options to the
pg_ctl
command that were available in Greenplum Database 5.
Resolves an issue where Greenplum Database, during node recovery, generated an error when the field standby_mode=on
was set in the recovery.conf
file. The error was similar to:
"FATAL","22023","recovery command file ""recovery.conf"" request for standby mode not specified",,,,,,,0,,"xlog.c",5465
Greenplum Database now supports server recovery in a non-continuous mode using standby_mode=on
.
pg_relation_filenode()
function did not provide proper output for Append Optimized (AO) auxiliary tables. This issue has been resolved.
UPDATE
or
DELETE
operation was a partition table and Greenplum generated a unique row id plan.
gp_segment_configuration
. Greenplum Database now uses the primary's
address
for WAL-replication in
gpexpand
.
pg_aocsseg
table entries with frozen tuples to ensure these entries were implicitly visible even after a rollback. This strategy created issues with the roll back of Append Optimized Columnar (AOC) tables. This issue has now been resolved.
ERROR: could not open existing temporary file "base/pgsql_tmp/pgsql_tmp_SIRW_145011_97_0": No such file or directory
, caused by temporary file name changes during cross-slice communication. This issue has been resolved.
minirepro
utility where it generated incorrect input when inserting columns containing arrays.
IS DISTINCT FROM FALSE
predicate inside a
NOT EXIST
subquery.
gpstate
execution when a database of the same name as the
$USER
running the command did not exist.
gpconfig
would fail with error similar to
ValueError: filedescriptor out of range in select()
due to liveness checks performed on all hostnames associated with each database id. This issue has been resolved and liveness checks are now performend only on unique hostnames.
gpinisystem
operation failed before creating the necessary segment backout scripts, manual steps were required to clean up the directories after the failure. To resolve this problem
gpinisystem
now creates a single backout script earlier in the process; the script can be used to cleanup all segment directories even if a failure occurs later in the
gpinisystem
operation.
gprecoverseg
,
gpinitstandby
,
gpstart
, and
gpstop
fail when there is a message banner in
.bashrc
. This issue has been resolved, and now banner messages are not parsed.
gpstate
utility no longer provided mirror synchronization status. This problem was resolved by adding the
Mirror status
field in
gpstate -s
output for primary segments.
gpcheckperf
via
gpssh
, the
gpcheckperf
utility could issue a
pkill -f
command that killed the
gpssh
process and disconnected the established SSH connections. This problem was resolved by removing the use of
pkill -f
in
gpcheckperf
.
netperf
test, that was shown when running
gpcheckperf -r N.
--help
option for
gpcheckcat
.
gpload
improvement that removed a left-join merge because it introduced a performance regression in certain situations.
COPY
command failed to read a file that included special characters at the end of a line because Greenplum Database did not recognize the EOL character.
Release Date: 2021-10-2
VMware Greenplum 6.17.7 is a maintenance release that resolves a single issue.
Release Date: 2021-9-25
VMware Greenplum 6.17.6 is a maintenance release that resolves a single issue.
Release Date: 2021-9-22
VMware Greenplum 6.17.5 is a maintenance release that resolves a single issue.
Release Date: 2021-9-21
VMware Greenplum 6.17.4 is a maintenance release that resolves several issues.
VMware Greenplum 6.17.4 resolves these issues:
Invalid page in block 0 of relation
. This was caused by the metapage not being present in the shared buffers. This issue has been resolved.
Release Date: 2021-8-30
VMware Greenplum 6.17.3 is a maintenance release that resolves several issues.
VMware Greenplum 6.17.3 resolves these issues:
Release Date: 2021-8-6
VMware Greenplum 6.17.2 is a maintenance release that resolves several issues.
VMware Greenplum 6.17.2 resolves these issues:
gpinitsystem
runs so it is possible to clean up all segment directories in case of an error.
gpcheckperf
output displayed a
NOTICE
about deprecated flags for
gpnetbench
, however these flags are still used in
netperf
. This fix removes the
NOTICE
message.
gpcheckcat
now has a
--help
option.
gpconfig
returned the error
filedescriptor out of range in select()
due to the liveness check being performed on all hostnames associated with each Database ID. This fix addresses this issue by performing liveness check only on unique hostnames.
pljavat
which only installs a language handler for the trusted language
pljava
and not the untrusted language
pljavau
.
SEQUENCE
function on the replicated table, the result was not guaranteed to be identical across different segments. This issue was resolved by identifying these scenarios and redistributing tuples from a single segment, rather than exploiting the advantages of replicated table.
optimizer_join_order
set to "greedy" in comparison to the default value of "exhaustive." This occurred because the default join order algorithm was partial to finding a plan that exploited dynamic partition elimination (DPE) and sometimes ignoring cases where both static and dynamic partition elimination would improve plan performance. This was done to prevent increasing the optimization time significantly at the expense of a sub-optimal plan. To avoid generating sub-optimal plans, the query optimizer now generates both partition elimination options but only for the greedy algorithm, regardless of the join order chosen. This helps to generate some lower-cost alternatives while incurring only a moderate increase in optimization time (15%).
DISTRIBUTED RANDOMLY
from a
DISTRIBUTED REPLICATED
table put all records into one instance when the query optimizer was enabled. This issue was resolved by adding the necessary logic to insure that, when inserting from a replicated table into a randomly-distributed table, the query optimizer randomizes the tuples to data skew.
WITH
clause and a join condition across different output columns of the same derived tables. The problem occurred because the distribution policy created for the
WITH
clause subquery was incorrectly propagated. GPORCA has resolved this problem by pushing properties into the
WITH
clause only when all columns come from the same derived table.
partitionLock
and
ResQueueLock
after releasing a resource queue lock following a deadlock error, which resulted in a segmentation fault.
gpload
would fail with column names that used uppercase or mixed-case characters.
gpload
now automatically adds double quotes to column names that are not already quoted in the YAML control file.
Release Date: 2021-7-23
VMware Greenplum 6.17.1 is a maintenance release that resolves several issues and changes one feature.
Deactivated unsafe TLS 1.0 and TLS 1.1 protocols for gpfdist
.
VMware Greenplum 6.17.1 resolves these issues:
ERROR: MIN/MAX subplan has unexpected flowtype
.
DELETE
on a randomly distributed table. This issue has been resolved.
Release Date: 2021-7-9
VMware Greenplum 6.17.0 is a minor release that includes feature changes and resolves several issues.
Greenplum Database 6.17.0 includes these new and changed features:
gprecoverseg
, gpaddmirrors
, and gpmovemirrors
utilities now include a -b
option to specify the maximum number of segments per host to operate on in parallel.gpecheckcat
utility now permits users to skip one or more tests, with the new -s
option. In addition, the -R
option now accepts a comma-separated list of of multiple tests to run.VMware Greenplum 6.17.0 resolves these issues:
An exception was encountered during the execution of a statement
was unable to be suppressed. Users can now control the verbosity of the exception message with the
log_min_messages
GUC.
admin_group
to
default_group
. This fix addresses this issue.
UPDATE/DELETE
statement while a VACUUM operation was running returned the error
tuple concurrently updated
, due to an out of date snapshot.
unrecognized parameter "appendoptimized"
that was reported when using the
appendoptimized
clause for a table partition definition.
CTAS
statement referencing a table created with the
DISTRIBUTED REPLICATED
clause was generating incorrect results with the Legacy Planner.
PANIC
while trying to create an index plan, when root and leaf partitions did not have the same underlying dropped column structure. This issue has been resolved.
INNER JOIN
with an
EXCEPT
clause was causing a fallback to Legacy Planner and reporting the error:
No plan has been computed for required properties
. This issue has been resolved.
LEFT OUTER JOIN
were producing incorrect results as it was being replaced with an
INNER JOIN
in the subquery plan.
UNION ALL
and an external table was returning incorrect results with GPORCA query optimizer, due to not all information from the external table being gathered.
NO SQL
function. It no longer does that.
gprecoverseg -r
-- when it called
gprescoverseg
internally a second time -- did not correctly pass on the
-B
and
-b
options.
gprecoverseg
was updating the
pg_hba.conf
file on all primaries regardless of whether those primaries needed to be updated.
gpmovemirrors -B
was calling
gprecoverseg
with an excessively large number of parallel processes.
gpmovemirrors
.
gprecoverseg
was printing out empty
pg_rewind
progress lines for mirrors.
gprecoverseg
no longer adds
pg_hba.conf
entries if they are already present in the file.
string
, you may no longer enclose the value you pass to
gpconfig -c
in single quotes.
gprecoverseg -p
was reporting an error despite the operation being successful.
gprecoverseg -p
would error out when master could not connect to an individual segment host.
UNION ALL
between a replicated table and a subquery with an explicit sequence
nextval
.
Release Date: 2021-07-02
VMware Greenplum 6.16.3 is a maintenance release that resolves several issues.
VMware Greenplum 6.16.3 resolves these issues:
cstring
in certain circumstances. This problem could surface in several ways including query panics, out of memory conditions, and the following compression error:
"ERROR","XX000","compressed data is corrupt (pg_lzcompress.c:737)"
.
ANALYZE
on a leaf table, Greenplum would compute statistics for all columns when merging statistics for the parent table, even if one or more columns had been configured with
STATISTICS
set to 0 (to deactivate statistics collection for that column). Greenplum no longer computes statistics for columns that have
STATISTICS
set to 0 when merging statistics for the parent table.
Release Date: 2021-06-04
VMware Greenplum 6.16.2 is a maintenance release that resolves several issues.
VMware Greenplum 6.16.2 resolves these issues:
gprecoverseg -v
was invoked,
pg_rewind
's log was generated but was not preserved in case of an incremental recovery failure.
\df+
on a function that has exec location
INITPLAN
, the
Execute on
column did not properly display "initplan".
collname
when creating a
DOMAIN
.
CREATE MATERIALIZED VIEW
was failing with
ERROR: division by zero
when
WITH NO DATA
was being specified.
PANIC
due to a double free of the memory context
TupleSort
.
Release Date: 2021-5-21
VMware Greenplum 6.16.1 is a maintenance release that resolves several issues.
VMware Greenplum 6.16.1 resolves these issues:
gprecoverseg
to perform an incremental recovery removed log files from the
pg_log
directory.
gprecoverseg
now retains files under
pg_log
so that they can be used for troubleshooting after an incremental recovery.
gpconfig
where the process hung when cancelling it due to hosts being unreachable.
REFRESH MATERIALIZED QUERY
was failing if the
WHERE
clause included an embedded query.
NOT in
clause.
gprecoverseg
to ignore segments on unreachable hosts had introduced an issue for the
gprecoverseg -p newhost
option as it skipped the case of a new host replacing an unreachable host. This issue is now resolved.
gpmovemirror
which caused the wrong error message to be printed when there was an issue with the provided configuration file.
VACUUM FULL ANALYZE
was failing to clear some tables of bloat.
cstring
to type
date
.
gpload
in which a global transaction was not aborted when the session was reset.
EXCEPT
clause. The issue occurred because the query optimizer did not add scalar casts for any input columns whose types did not match the output types of the
SetOp
.
Release Date: 2021-4-22
VMware Greenplum 6.16.0 is a minor release that includes feature changes and resolves several issues.
Greenplum Database 6.16.0 includes these new and changed features:
Greenplum Resource Groups include now a new mode for assigning CPU resources by percentage, Ceiling enforcement mode, apart from the existing Elastic mode.
The PXF version 6.0.0 distribution is available with this release; you can download it from the Release Download directory named Greenplum Platform Extension Framework on Broadcom Support Portal under the desired Greenplum release. Refer to the PXF documentation for information about this release and for installation and upgrade instructions.
Greenplum Streaming Server (GPSS) version 1.5.3 is included, which includes changes and bug fixes. Refer to the GPSS Documentation for more information about this release and for upgrade instructions.
Greenplum Database 6.16.0 includes MADlib version 1.18.0, which introduces new Deep Learning features, improvements, and bug fixes. See the MADlib 1.18.0 Release Notes for a complete list of changes.
The gp_sparse_vector
module now installs its functions and objects into a schema named sparse_vector
. See Resolved Issue 31360.
gp_sparse_vector
in your current Greenplum Database distribution, review
Upgrading the gp_sparse_vector Module for upgrade implications and instructions.
The default value of the optimizer_join_order
server configuration parameter is changed from exhaustive2
to exhaustive
, which was the default used in Greenplum versions prior to version 6.14.0. The Greenplum Database Query Optimizer (GPORCA) uses this configuration parameter to identify the join enumeration algorithm for a query. See Resolved Issue 31391.
VMware Greenplum 6.16.0 resolves these issues:
optimizer_join_order
server configuration parameter default value of
exhaustive2
. The default value of this configuration parameter is changed (back to)
exhaustive
.
gp_sparse_vector
array_agg()
function overrode the system
pg_catalog.array_agg()
function and returned a different type of array. The
gp_sparse_vector
module now installs its functions and objects into a separate schema named
sparse_vector
.
PANIC
when running certain functions with the Optimizer enabled. This issue has now been resolved.
NOTICE
level messages.
gpcheckcat
reporting an error when a
VIEW
is defined without a target and does not have an entry in
pg_attribute
.
gpfdist
would bind to an IPv4 port but fail to bind to an IPv6 port, if there was another process listening on the same IPv6 port. This issue has been resolved.
gpstate
would log
ERROR/FATAL
messages relating to
gpexapnd.status
when no expansion was in progress, and when
gpstate -s
output showed a healthy cluster state. This issue has been resolved.
GROUP BY GROUPING SETS
.
Lookup of object 0.0.0.0 in cache failed
when querying a partitioned table.
INSERT
on a full bitmap page, occasionally failed to read the correct
tid
.
Release Date: 2021-3-11
VMware Greenplum 6.15.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.15.0 includes these new and changed features:
gprecoverseg
now rebalances segments whose hosts are reachable even if there are other segments whose hosts are not; for segments on unreachable hosts, gprecoverseg
now emits a warning message.
Greenplum Streaming Server (GPSS) version 1.5.2 is included, which introduces bug fixes. Refer to the GPSS Release Notes for more information on release content and to access the GPSS documentation.
The analyzedb
utility has a new --skip_orca_root_stats
option. When this option is specified, analyzedb
will not update root partition statistics. This option should be used only if GPORCA is deactivated.
VMware Greenplum 6.15.0 resolves these issues:
resource group wait queue is corrupted (resgroup.c:3502)
that caused a
PANIC
on Greenplum Master.
grouping
function.
escape='OFF'
.
random()
or
timeofday()
, would cause host
PANIC
. This issue has been resolved.
--skip_orca_root_stats
option, which prevents
analyzedb
from updating root partition statistics.
dblink
includes function
dblink_connect_no_auth
that skips authentication checks.
CDOUBLE
types, such as
timestamp
.
gpfdist
reads from external tables were resulting in "No route to host" errors.
gp_interconnect_type = proxy
, and the pause/resume flow control process causes a busy receiver to cache or duplicate packets while waiting for the backend to consume them. Greenplum Database now uses a more active flow control mechanism to control packet buffering and transmission.
FailedAssertion
error due to planner issue.
WHERE
clause, which caused segment panic. Greenplum now generates an error similar to:
set-returning functions are not allowed in WHERE clause
.
gpinitsystem
now treats equivalent locales as equivalent (for example,
en_US.UTF-8
is now treated the same as
en_US.utf8
).
gprecoverseg
now reports progress on both incremental and full segment recovery, there is no longer any need to call
gpstate -m
to determine recovery progress.
Release Date: 2021-2-22
VMware Greenplum 6.14.1 is a maintenance release that resolves several issues and includes related changes
Greenplum Database 6.14.1 includes this change:
VMware Greenplum 6.14.1 resolves these issues:
array
typecasts of operands in view definitions with operators were erroneously transformed into
anyarray
typecasts. This caused errors in the backup and restore of the view definitions.
random()
or
timeofday()
), but the query did not invoke the function with an argument.
SELECT
queries on the
pg_partitions
system view, which were waiting on locks taken by other operations.
gpfdist
would sporadically return the error
404 Multiple reader to a pipe is forbidden
. This issue is resolved.
Release Date: 2021-2-5
VMware Greenplum 6.14.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.14.0 includes these new and changed features:
optimizer_join_order
server configuration parameter is changed from exhaustive
to exhaustive2
. The Greenplum Database Query Optimizer (GPORCA) uses this configuration parameter to identify the join enumeration algorithm for a query. With this new default, GPORCA operates with an emphasis on generating join orders that are suitable for dynamic partition elimination. This often results in faster optimization times and/or better execution plans, especially when GPORCA evaluates large joins. The Faster Optimization of Join Queries in ORCA blog provides additional information about this feature.optimizer_cost_model
server configuration parameter, calibrated
, has been enhanced; GPORCA is now more likely to choose a faster bitmap index with nested loop joins rather than hash joins.gprecoverseg -a -s
command has been updated to show more verbose progress information. Users can now monitor the progress of the recovering segments in incremental mode.gpcheckperf
command has been updated to support Internet Protocol version 6 (IPv6).VMware Greenplum 6.14.0 resolves these issues:
pg_get_viewdef_name_ext()
function was invoked with a non-view relation.
Context should be init first
when
gp_workfile_compression=on
because Greenplum Database ignored a failing return value from a
ZSTD
initialization function.
--help
output issue for the
gprecoverseg
,
gpaddmirrors
,
gpmovemirrors
,
gpinitstandby
utilities, where the
--hba-hostnames
command line flag details were missing.
gp_toolkit.gp_param_setting()
function. This issue is resolved; Greenplum now ignores a function's
EXECUTE ON
options when in utility mode, and executes the function only on the local node.
optimizer_join_order
is set to
query
or
exhaustive2
.
no hash_seq_search scan for hash table "Dynamic Table Scan Pid Index"
because GPORCA generated a query plan that incorrectly rescanned a partition selector during dynamic partition elimination. GPORCA now generates a plan that does not demand such a rescan.
RETURNING
clause would fail with the error
INSERT/UPDATE/DELETE must be executed by a writer segworker group
.
Release Date: 2020-12-18
VMware Greenplum 6.13.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.13.0 includes these new and changed features:
This release introduces the new VMware Greenplum Connector for Apache NiFi 1.0.0. The Connector provides a fast and simple, UI-based way to build data ingestion pipelines for Greenplum Database, code-free. The Connector is available as a separate download from Broadcom Support Portal under the desired Greenplum release. Refer to the VMware Greenplum Connector for Apache NiFi documentation for installation, configuration, and usage information for the Connector.
Greenplum Streaming Server (GPSS) version 1.5.0 is included, which introduces many new and changed features and bug fixes. Refer to the GPSS Documentation for more information on release content and to access the GPSS documentation.
The distribution includes the advanced_password_check
contrib
module; you can use this module to specify password string quality policies for Greenplum Database. Refer to the advanced_password_check
module documentation for more information.
The Greenplum Database Query Optimizer exposes a new server configuration parameter to enable index-only scans. These scans answer queries from an index alone without requiring any heap access. This configuration parameter is named optimizer_enable_indexonlyscan
, and is enabled by default.
VMware Greenplum 6.13.0 resolves these issues:
gpstart
could fail with an non-descript error when a segment host was unreachable during Greenplum Database initialization.
gpstart
now continues the startup process even if some cluster hosts are unreachable.
gpconfig -s client_min_messages
to set the client messaging level (for example "notice" or "warning"), the output showed "error" instead of the level configured by the user. This issue has been resolved.
serial
-type column of a replicated Greenplum table (created
DISTRIBUTED REPLICATED
) failed to return a consistent value on all segments.
This query is not currently supported by GPDB.
" when it encounters a function invocation that it does not support.
pg_rewind
was updated to reduce the number of
lstat
operations it performs, in order to improve the performance of incremental recovery with a large number of data files.
gpaddmirrors -p
option,
gpaddmirrors
would generate an error similar to
error: Value of port offset supplied via -p option produces ports outside of the valid range. Mirror port base range must be between 6432 and 61000
. This issue has been resolved.
Release Date: 2020-11-20
VMware Greenplum 6.12.1 is a maintenance release that resolves several issues.
VMware Greenplum 6.12.1 resolves these issues:
"FATAL","XX000","the limit of 500 distributed transactions has been reached (cdbdtxrecovery.c:571)"
.
GROUPING SETS
returned incorrect results.
btree
index ran longer than expected because the Query Optimizer did not perform partition elimination when the query included an index join with both a local and a join predicate. This issue is resolved; the Query Optimizer improves dynamic and static partition elimination when indexes are present.
gprecoverseg -F
, was failing.
gprecoverseg
failed. The logs now include a message similar to:
[WARNING]:-Incremental recovery failed for my-segment-name. You must use gprecoverseg -F to recover the segment.
analyzedb
could fail if a table was dropped and recreated during the
analyzedb
operation.
... failed to expand: error ERROR: ... is not a table
when it tried to expand a materialized view. This issue is resolved; Greenplum Databae now supports expanding materialized views.
EXPLAIN SELECT 1 FROM mytable WHERE mytable.mycolumn=ANY('{}');
). These types of queries would cause GPORCA to crash. This problem was resolved by ensuring that GPORCA now skips merging a constraint with an empty array.
CREATE TABLE AS SELECT … FROM
and
COPY (SELECT ... FROM ...) TO ...
statements.
VACUUM
operation on the
template0
database.
DROP RESOURCE GROUP
command failed to drop the resource group.
ERROR: unrecognized node type: 2139062143 (copyfuncs.c:6059)
, when the query dispatcher needed to refresh a materialized view.
Release Date: 2020-10-30
VMware Greenplum 6.12.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.12.0 includes these new and changed features:
gp_interconnect_proxy_addresses
parameter (previously, IP addresses were required). Note that if a segment instance hostname is bound to a different IP address at runtime, you must execute gpstop -U
to re-load the gp_interconnect_proxy_addresses
value. See Configuring Proxies for the Greenplum Interconnect.TRUNCATE
command was updated so that it truncates a table referenced in a foreign key constraint, even if the CASCADE
option is omitted.gpmt
), a diagnostics and data collection tool.postgres_fdw
PostgreSQL contrib
module. Refer to the postgres_fdw
module documentation for more information.VMware Greenplum 6.12.0 resolves these issues:
log_min_duration_statement
was set to 0, could subsequent write an invalid symbol to segment logs. This behavior could cause errors in
gp_toolkit
and Command Center. This problem has been resolved.
COMMIT PREPARE
recording. When Greenplum encountered an orphaned prepared transaction that was committed after the xlog was recorded, it returned the error message:
cannot abort transaction transaction_number, it was already committed
. This issue is resolved.
SELECT
on an external table within a transaction returned zero records because the Query Optimizer did not generate a unique scan number to differentiate the two queries to the external table. This issue is resolved.
double
values in
UNION
and
UNION ALL
queries due to an incorrect comparison of bucket boundary values with a small Epsilon.
Share memory is not enough for active tables
, when
TRUNCATE
and
CREATE TABLE
statements were executed.
HAVING
clause of a query included a subquery, and one or more columns referenced in the subquery were not also specified in the
GROUP BY
column set. This issue is resolved.
GROUPING SETS
.
pg_resgroup_get_status(NULL:oid)
could not be saved to a table.
CREATE UNIQUE INDEX
on a table partition would implicitly change the partition's distribution key.
bpchar
and using the legacy
bpchar
hash operator, rows always used jump consistent hashing instead of legacy (modulo) hashing. This mismatch would cause
gprestore
operations to fail for when restoring Greenplum 4.x/5.x data into Greenplum 6.x. The problem occurred because a required hashing function ID was missing from a check function that determined if an attribute used legacy hashing. Greenplum 6.12 resolves this issue by adding the required hashing function ID in the check function.
Release Date: 2020-10-2
Pivotal Greenplum 6.11.2 is a maintenance release that includes changes and resolves several issues.
Greenplum Database 6.11.2 includes these changes:
Pivotal Greenplum 6.11.2 resolves these issues:
gpinitstandby
and
gpaddmirrors
to fail. This problem has been resolved.
CREATE TABLE .. AS
statement was used to create a table with non-legacy (jump consistent) hash algorithm distribution from a source table that used the legacy (modulo) hash algorithm, GPORCA would distribute the data according to the value of
gp_use_legacy_hashops
; however, it would set the table's distribution policy hash algorithm to the value of the original table. This could cause queries to give incorrect results if the distribution policy did not match the data distribution. This problem has been resolved.
postmaster
process being reset on segments and failures in query execution, or segment PANIC. This problem has been resolved.
gp_use_legacy_hashops
was enabled, GPORCA could crash when generating the query plan for certain queries that included an aggregate. This problem has been resolved.
log_min_duration_statement
was set to 0, could subsequent write an invalid symbol to segment logs. This behavior could cause errors in
gp_toolkit
and Command Center. This problem has been resolved.
Release Date: 2020-09-17
Pivotal Greenplum 6.11.1 is a maintenance release that includes changes and resolves several issues.
Greenplum Database 6.11.1 includes this change:
Pivotal Greenplum 6.11.1 resolves these issues:
optimizer_join_order
was set to
exhaustive2
.
gpload
operations would fail if a table column name included capital letters or special characters.
select * from foo where foo.a = (select foo.b from bar)
, GPORCA always used the results of the subquery after unnesting the outer reference. This could cause a crash or incorrect results if the subquery returned no rows, or if the subquery contained a projection with multiple values below the outer reference. To address this problem, all such queries now fall back to using the Postgres planner instead of GPORCA. Note that this behavior occurs for cases where GPORCA would have returned correct results, as well as for cases that could cause crashes or return incorrect results.
gpfdists
protocol failed if the external table did not use an IP address when specifying a host system in the
LOCATION
clause of the external table definition. This issue is resolved in Greenplum 6.11.1.
gpstart
was updated so that it does not attempt to start a standby master segment when that segment is unreachable, preventing an associated stack trace during startup.
Release Date: 2020-09-11
Pivotal Greenplum 6.11.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.11.0 includes these new and changed features:
GPORCA partition elimination has been enhanced to support a subset of lossy assignment casts that are order-preserving (increasing) functions, including timestamp::date
and float::int
. For example, GPORCA supports partition elimination when a partition column is defined with the timestamp
datatype and the query contains a predicate such as WHERE ts::date == '2020-05-10'
that performs a cast on the partitioned column (ts
) to compare column data (a timestamp
) to a date
.
PXF version 5.15.0 is included, which includes new and changed features and bug fixes. Refer to the PXF Release Notes for more information on release content and supported platforms, and to access the PXF documentation.
Greenplum Command Center 6.3.0 and 4.11.0 are included, which include new workload management and other features, as well as bug fixes. See the Command Center Release Notes for more information.
The query dispatcher now supports the PostgreSQL LISTEN
, UNLISTEN
, and NOTIFY
commands.
The DataDirect ODBC Drivers for Pivotal Greenplum were updated to version 07.16.0389 (B0562, U0408). This version introduces support for the following datatypes:
Greenplum Datatype | ODBC Datatype |
---|---|
citext | SQL_LONGVARCHAR |
float | SQL_REAL |
tinyint | SQL_SMALLINT |
wchar | SQL_CHAR |
wvarchar | SQL_VARCHAR |
Pivotal Greenplum 6.11.0 resolves these issues:
VACUUM
returns
ERROR: found xmin <xid> from before relfrozenxid <frozen_xid>
. The error was caused when a previously run
VACUUM FULL
was interrupted and aborted on a query executor (QE) and corrupted catalog frozen XID information. This issue is resolved.
requested WAL segment has already been removed
because the recovery checkpoint was not created properly. This issue is resolved.
analyzedb
failed if
analyzedb
attempted to update statistics for a set of tables and one of the tables was dropped and then recreated while
analyzedb
was running.
analyzedb
has been enhanced better handle the specified situation.
Error on receive from seg<ID>
. The error was caused when Greenplum Database encountered a divide by 0 error while managing the backend processes that are used to run queries on the segment instances. This issue is resolved.
DROP VIEW
command was cancelled from the Greenplum Command Center. The PANIC was generated when Greenplum Database did not correctly handle the visibility of the relation.
gpcheckcat
would fail with
Missing or extraneous entries check
errors if the
gp_sparse_vector
extension was installed.
timestamp
datatype and the query contains a predicate such as
WHERE ts::date == '2020-05-10'
that performs a cast on the partitioned column (
ts
) to compare column data (a
timestamp
) to a
date
. GPORCA partition elimination has been improved to support the specified type of query. See
Features.
For some queries that contain nested subqueries that do not specify a relation and also contain a nested GROUP BY
clauses, Greenplum Database generated a PANIC. The PANIC was generated when Greenplum Database did not correctly manage the subquery correctly. This is an example of the specified type or query.
SELECT * FROM (SELECT * FROM (SELECT c1, SUM(c2) c2 FROM mytbl GROUP BY c1 ) t2 ) t3
GROUP BY c2, ROLLUP((c1))
ORDER BY 1, 2;
This issue is resolved.
Canceling query because of high VMEM usage
because the resource group calculated the incorrect memory used by the query. This issue is resolved.
gp_interconnect_type
is set to
proxy
), a Greenplum background worker process became an orphaned process after the postmaster process was terminated. This issue is resolved.
gp_interconnect_type
is set to
proxy
), a query might have hung if the query contains multiple concurrent subplans running on the segment instances. The query hung when the Greenplum interconnect did not properly handle the communication among the concurrent subplans. This issue is resolved.
gpinitsystem
now exports the
MASTER_DATA_DIRECTORY
environment variable before calling
gpconfig
, to avoid throwing warning messages when configuring system parameters on Greenplum Database appliances (DCA).
Release Date: 2020-08-13
Pivotal Greenplum 6.10.1 is a maintenance release that resolves known issues.
Pivotal Greenplum 6.10.1 resolves these issues:
DELIMITER 'OFF'
formatting option was used when creating the table.
Release Date: 2020-08-07
Pivotal Greenplum 6.10.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.10.0 includes these new and changed features:
Greenplum Database 6.10 introduces the server configuration parameter max_slot_wal_keep_size
that sets the maximum size in megabytes of replication WAL log files on disk per segment instance. The default is -1, Greenplum can retain an unlimited amount of WAL files on disk.
Greenplum Database 6.10 introduces the server configuration parameter gp_add_column_inherits_table_setting
for append-optimized, column-oriented tables. When adding a column to a table with the ALTER TABLE
command, the parameter controls whether the table's data compression parameters for a column (compresstype
, compresslevel
, and blocksize
) can be inherited from WITH
clause values when the table was created. The default is off
, the table's data compression settings are not considered when adding a column to the table. If the value is on
, the table's WITH
clause values are considered.
When reading data, the gpload
utility now supports the control file parameter FILL_MISSING_FIELDS
that can add NULL
values to a data row if the row has trailing field values that are missing. To enable this feature, set the parameter to true
.
Greenplum Database supports using proxies for Greenplum Database interconnect communication to reduce the use of connections and ports during query processing. The interconnect proxies consumes fewer connections and ports than TCP
mode, and has better performance than UDPIFC
mode in a high-latency network.
To enable interconnect proxies for the Greenplum system, set these system configuration parameters.
gp_interconnect_proxy_addresses
. You must specify a proxy port for the master, standby master, and all segment instances.gp_interconnect_type
to proxy
. The proxy
value is new in Greenplum Database 6.10.The PgBouncer connection pooler was updated from version 1.8.1 to version 1.13. To support this change on RHEL/CentOS 6 platforms, the Greenplum Database package now requires libevent2
instead of libevent
. RHEL/CentOS 7 requirements are unchanged. See the PgBouncer 1.13.x Release Notes for a summary of changes.
The gpcheckcat
catalog verification utility adds a new test, aoseg_table
, that you can use to check that the vertical partition information on append-optimized, column storage tables is consistent with pg_attribute
.
Greenplum Database 6.10 introduces a new server configuration parameter, gp_fts_replication_attempt_count
, that you can use to configure the maximum number of times that the Greenplum fault tolerance service (FTS) attempts to establish a primary-mirror replication connection.
PXF version 5.14.0 is included, which includes new and changed features and bug fixes. Refer to the PXF Release Notes for more information on release content and supported platforms, and to access the PXF documentation.
Greenplum Streaming Server (GPSS) version 1.4.1 is included, which includes changes and bug fixes. Refer to the GPSS Documentation for more information on release content and to access the GPSS documentation.
Pivotal Greenplum 6.10.0 resolves these issues:
ANALYZE
operations on large partition tables generated the error
Canceling query because of high VMEM usage
. This issue occurred during some restore operations with
gprestore
. This issue is resolved.
max_slot_wal_keep_size
to limit the amount of WAL logs stored on disk. See See
Features.
HashJoin: Too many batches computed
log messages by decreasing the severity level of the message.
gprecoverseg
hangs when performing an incremental recovery while trying to perform a clean shutdown of the segment instance due to a locking issue. This issue is resolved.
ERROR: unrecognized path type 106
. This issue is resolved.
pg_get_viewdef()
returned an incorrect view definition when the view was created with the Greenplum-specific
CASE WHEN (arg1) IS NOT DISTINCT FROM (arg2)
clause. This issue is resolved.
gp_fts_replication_attempt_count
, with which you can configure the maximum number of retry attempts.
ALTER TABLE ... INHERIT
command to assign inheritance to/from a replicated table after it was created. Update commands on such a table returned the misleading error
ModifyTable mixes distributed and entry-only tables
. This issue is resolved; Greenplum 6.10 enforces replicated table inheritance restrictions uniformly, including on
ALTER TABLE ... INHERIT
statements.
Too many distributed transactions for snapshot
when processing many distributed transactions and the
max_prepared_transactions
server configuration parameter was set to a low value. This issue is resolved; Greenplum now uses a more robust method to determine the maximum number of distributed transactions.
gp_enable_global_deadlock_detector
server configuration parameter on query executors to determine the lock mode. This issue is resolved, the parameter is now master only.
gpexpand
failed on a partitioned Greenplum Database table that included an external table leaf child partition. This issue is resolved; Greenplum Database now skips external table partitions during expansion.
the limit of *N* distributed transactions has been reached
when the global transaction limit was exceeded. This issue is resolved; Greenplum now uses a more robust method to determine the maximum number of distributed transactions.
gp_toolkit.gp_resgroup_status_per_host
view incorrectly reported CPU usage as the sum of resource group CPU usage on all segments on the same host. This issue is resolved; Greenplum Database now correctly reports the average CPU usage of resource groups on all segments on the host.
Release Date: 2020-07-24
Pivotal Greenplum 6.9.1 is a maintenance release that resolves several issues.
input.signature
argument to
db.gpapply()
and
db.gptapply()
, to match function argument names to table column names when the function input argument is not a single data frame. See
Greenplum Database R Client.
Pivotal Greenplum 6.9.1 resolves these issues:
ANALYZE
code did not exclude external tables (which cannot be analyzed) if an external table was part of a table partition hierarchy. This would result in the failure
ERROR: unsupported table type
when performing partitioned table operations that use
ANALYZE
, such as
ALTER TABLE … EXCHANGE PARTITION
. The problem was resolved by updating the
ANALYZE
code to correctly exclude these external tables.
Release Date: 2020-06-26
Pivotal Greenplum 6.9.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.9.0 includes these new and changed features:
Greenplum Streaming Server (GPSS) version 1.4.0 is included, which introduces many new and changed features and bug fixes. Refer to the GPSS Documentation for more information on release content and to access the GPSS documentation.
PXF version 5.13.0 is included, the first PXF release to also provide a separate download package that enables you to install PXF in a file system location outside of the Greenplum install directory. Refer to the PXF Release Notes for more information on release content and supported platforms, and to access the PXF documentation.
Pivotal Greenplum 6.9.0 resolves these issues:
requested WAL segment WAL_seg_ID has already been removed
. Greenplum Database WAL replication incorrectly removed segment files before they were processed during failover. This issue is resolved.
ALTER TABLE
or
ALTER DOMAIN
commands where one command alters a table column and the other rewrites or redistributes the table data. For example, performing concurrent
ALTER TABLE
commands where one command changes a column data type from
int
to
text
might cause data loss. This issue might also occur when altering a table column during the data distribution phase of a Greenplum system expansion. Greenplum Database did not correctly capture the current state of the table during command execution. This issue is resolved.
ALTER TABLE
allowed the distribution policy to be changed to
REPLICATED
. This is resolved.
ALTER TABLE
no longer allows the change.
COUNT
in the select list and also contain a
GROUP BY
clause returned results in the incorrect order. This issue is resolved.
LIMIT 1
or
GROUP BY
clause. Greenplum 6.9 resolves this issue by forcing the gathering and materialization of any relation containing a
GROUP BY
or
LIMIT
clause.
FULL JOIN
using a subselect that contains a
COALESCE
function, Greenplum Database returned
"ERROR: could not find hash distribution key expressions in target list"
. This issue is resolved.
memory_limit=0
with the
pg_resgroup_move_query()
function, Greenplum Database returned the error
ERROR: group <group_ID> doesn't have enough memory on master
. This issue is resolved.
Release Date: 2020-06-11
Pivotal Greenplum 6.8.1 is a maintenance release that contains a changed feature and resolves several issues.
The Greenplum PostGIS extension package has been updated to postgis-2.5.4+pivotal.2
. The release contains these changes:
Adds support for the PostGIS TIGER geocoder extension and the PostGIS address standardizer and address rules files extensions.
Removes PostGIS Raster function limitations.
Uses the CREATE EXTENSION
and DROP EXTENSION
commands to activate and deactivate support for the PostGIS extension and supported, optional PostGIS extensions.
postgis_manager.sh
script is deprecated and will be removed in a future release of Greenplum PostGIS. To enable or deactivate PostGIS support, use the
CREATE EXTENSION
or
DROP EXTENSION
command. See
Enabling and Removing PostGIS Support
Pivotal Greenplum 6.8.1 resolves these issues:
coalesce(tbl1.a, '999999') = coalesce(tbl2.a, '999999')
. The performance issue was caused by inaccurate cardinality estimates. GPORCA cardinality estimation has been improved for the specified type of query.
EXECUTE ON INITPLAN
attribute. This issue is resolved.
psql
client
\dm
command did not display materialized views.
gprecoverseg
utility with the
-i <recover_config_file>
option to specify details about failed segments to recover, the utility changed some segment instance
dbid
values in the Greenplum system configuration. This issue is resolved.
Release Date: 2020-06-05
Pivotal Greenplum 6.8.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.8.0 includes these new and changed features:
Greenplum Streaming Server (GPSS) version 1.3.6 is included, which introduces many new and changed features and bug fixes since the last GPSS version installed in Greenplum 6.x (1.3.1). Refer to the GPSS Documentation for more information on release content and to access the GPSS documentation.
The gpinitsystem
input configuration file specified with the -I
option supports an additional format to specify hosts. The QD_PRIMARY_ARRAY
, PRIMARY_ARRAY
, and MIRROR_ARRAY
host parameters may now be specified using either of the following formats:
host~port~data_directory/seg_prefix<segment_id>~dbid~content_id
hostname~address~port~data_directory/seg_prefix<segment_id>~dbid~content_id
The first format, which is the pre-existing format, sets both the hostname
and address
columns of the gp_segment_configuration
catalog table to the value in the host
field. The second format sets the hostname
and address
columns of the gp_segment_configuration
catalog table to the values in the respective hostname
and address
fields.
PXF version 5.12.0 is included, which introduces new and changed features and bug fixes. See PXF Version 5.12.0 below.
PL/Container version 2.1.2 is included, which introduces the following new features:
--use_local_copy
option to the plcontainer add-image
command that you can use to install the specified image only on the local host.Greenplum Database 6.8 adds support for Moving a Query to a Different Resource Group.
Greenplum Database 6.8 includes a new metrics collector extension that is compatible with Greenplum Command Center 6.2 and above. If you are using Command Center 6.0 or 6.1 you must download and install Command Center 6.2 after you install Greenplum Database 6.8.
PXF includes the following new and changed features:
PXF trims right-padded white space added by Greenplum before it writes Parquet data.
PXF bundles newer hive
, jackson-databind
, and supporting internal libraries.
A PXF server running on Java 11 can now read from Hive using an external table that specifies a Hive*
profile.
PXF introduces the new custom option IGNORE_MISSING_PATH
for external tables that you use to read file-based data. Setting this option may be useful when a PXF external table is a child partition of a partitioned Greenplum table. Refer to About PXF External Table Child Partitions for more information.
PXF bundles the jodd-core
library to satisfy a missing transitive dependency that is required when PXF reads Parquet files that contain data in timestamp format.
PXF adds column projection support for the Hive
and HiveRC
profiles by changing the implementation to use column name-based, rather than column index-based, mapping.
NoteIf you have existing PXF external tables that specify a
Hive*
profile, you may be required to perform upgrade actions as described in Upgrading PXF.
Pivotal Greenplum 6.8.0 resolves these issues:
Hive*
profile and the external table and Hive table had a differing number of columns. This issue is resolved. PXF now supports column projection for the
Hive*
profiles and correctly handles this situation.
lock lock_name on object object_identifier is already held
.
ALTER TABLE
command on a leaf partition of a partitioned table that did not change the distribution policy, Greenplum Database returned the error
ERROR: can't set the distribution policy
. This type of redistribution is allowed in Greenplum 5. Now Greenplum allows data reorganization on a leaf partition if the distribution policy is not changed.
COPY FROM
command in single row error isolation mode, Greenplum Database might crash when a query executor (QE) did not handle the data format error correctly. This issue is resolved.
gpinitsystem
returned the error
"ERROR:root:code for hash md5 was not found."
This issue is resolved.
gpinitsystem
, the primary segments were erroneously named using DNS resolvable external hostnames instead of the internal interconnect interface hostnames. At the same time, the segment mirrors were correctly named. This issue is now resolved.
Release Date: 2020-04-30
Pivotal Greenplum 6.7.1 is a maintenance release that resolves several issues. In addition to these resolved issues:
Pivotal Greenplum 6.7.1 resolves these issues:
madlib-1.17.0+2-gp6-rhel7-x86_64.tar.gz
and
madlib-1.17.0+2-gp6-rhel6-x86_64.tar.gz
, contained MADlib version 1.16 instead of version 1.17. This is resolved in Greenplum 6.7.1, and in Greenplum 6.7.0 with the newly-provided files
madlib-1.17.0+3-gp6-rhel7-x86_64.tar.gz
and
madlib-1.17.0+3-gp6-rhel6-x86_64.tar.gz
.
SELECT
query against a column-oriented table, when the table was created using the
WITH NO DATA
clause. The problem occurred because the
WITH
clause options were not correctly added to the
pg_attribute_encoding
table. This problem has been resolved.
CHECKPOINT
commands.
IN
clause with a large number of constants took a long time to generate a query plan. Most of the time was spent estimating the cardinality of the
IN
clause predicate. The cardinality estimation algorithm has been enhanced and significantly reduces the cardinality estimation time for the specified type of query.
gpreload
returned the error
more than one row returned
when attempting to reload a table and a view with the same name exists in a different schema in the database. This issue is resolved.
\set ON_ERROR_ROLLBACK interactive
was enabled in a client's
.psqlrc
file. This problem has been resolved.
Could not open file ""pg_distributedlog/<file-name>"": No such file or directory
. This issue is resolved.
UNION ALL
that combines the results from
SELECT
command that uses a replicated table with another
SELECT
command returns the error
ERROR: could not build Motion path
. This issue is resolved.
ALTER DATABASE...FROM CURRENT
command did not set a server configuration parameter for a database. This issue is resolved.
Release Date: 2020-04-17
Pivotal Greenplum 6.7.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.7.0 includes these new and changed features:
Greenplum Database 6.7 introduces the new gp_resource_group_queuing_timeout server configuration parameter. When the resource group-based resource management scheme is active, gp_resource_group_queuing_timeout
specifies the maximum amount of time a transaction waits for execution in a queue on a resource group before Greenplum Database cancels the transaction. By default, queued transactions in a resource group can wait indefinitely.
Greenplum Database 6.7 includes MADlib version 1.17, which introduces new Deep Learning features, k-Means clustering, and other improvements and bug fixes. See the Apache MADlib page for additional information and Release Notes.
madlib-1.17.0+2-gp6-rhel7-x86_64.tar.gz
and
madlib-1.17.0+2-gp6-rhel6-x86_64.tar.gz
, contained MADlib version 1.16 instead of version 1.17. This is resolved in Greenplum 6.7.1, and in Greenplum 6.7.0 with the newly-provided files
madlib-1.17.0+3-gp6-rhel7-x86_64.tar.gz
and
madlib-1.17.0+3-gp6-rhel6-x86_64.tar.gz
.
Pivotal Greenplum 6.7.0 resolves these issues:
NOWAIT
in a
SELECT FOR UPDATE
statement could result in the error,
ERROR: relation "<name>" does not exist
, because locking was not correctly handled for the
NOWAIT
clause. This problem has been resolved. Note, however, that
NOWAIT
only affects how the
SELECT
statement obtains row-level locks. A
SELECT FOR UPDATE NOWAIT
statement will always wait for the required table-level lock; it behaves as if
NOWAIT
was omitted.
CREATE TABLE
and
TRUNCATE
statements were executed in the same transaction.
citext
data. The error occurred because the query falls back to the Postgres Planner. This issue is resolved. Now the query does not fall back to the Postgres planner, the query is executed using GPORCA.
RAISE NOTICE
statement was not displayed correctly if the text contained a newline (line feed) character. Only the text before the newline character was displayed. This issue is resolved.
Release Date: 2020-04-06
Pivotal Greenplum 6.6.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.6.0 includes these new and changed features:
For the CREATE EXTERNAL TABLE
command, the LOG ERRORS
clause now supports the PERSISTENTLY
keyword. The LOG ERRORS
clause logs information about external table data rows with formatting errors. The error log data is stored internally. When you specify LOG ERRORS PERSISTENTLY
, the log data persists after the external table is dropped.
If you use the PERSISTENTLY
keyword, you must install the functions that manage the persistent error log information.
For information about the error log information and built-in functions for viewing and managing error log information, see CREATE EXTERNAL TABLE.
PXF version 5.11.2 is included, which introduces these changes:
BATCH_SIZE
write option during a read operation.jackson-databind
library.pxf-public.classpath
file. This in turn removes spurious WARNING: Failed to read classpath file ...
log messages.Greenplum Database 6.6 includes MADlib version 1.17, which introduces new Deep Learning features, k-Means clustering, and other improvements and bug fixes. See the MADlib 1.17 Release Notes for a complete list of changes.
Pivotal Greenplum 6.6.0 resolves these issues:
IN
clause generated a large number of spill files and returned the error
workfile per query size limit exceeded
when GPORCA incorrectly normalized a histogram that was not well-defined. This issue is resolved.
ALTER TABLE... ADD COLUMN
command because the command performed a full table rewrite. Now only data corresponding to the new column is rewritten.
min()
or
count()
that was invoked on a
citext
-type column failed with the error
cache lookup failed for function 0
because GPORCA incorrectly generated a multi-stage aggregate for the query. This issue is resolved.
WARNING
or less severe and Greenplum attempted to write to the alert log file after it failed to open the file. This issue is resolved.
COPY FROM SEGMENT
command copied data into an append-only table, the command did not update the append-only table metadata
tupcount
(the number of tuples on a segment, including invisible tuples) and
modcount
(the number of data modification operations performed). This issue is resolved.
gpperfmon
database, which is required for using Greenplum Command Center. This issue is resolved in version 6.6.0.
Release Date: 2020-03-20
Pivotal Greenplum 6.5.0 is a minor release that includes changed features and resolves several issues.
gpperfmon
database, which is required for using Greenplum Command Center. Customers deploying to Ubuntu should not install or upgrade to Greenplum Database 6.5 until a maintenance release is provided to resolve this issue.
Greenplum Database 6.5.0 includes these new and changed features:
When creating a user-defined function, you can specify the attribute EXECUTE ON INITPLAN
to indicate that the function contains an SQL command that dispatches queries to the segment instances and requires special processing on the master instance by Greenplum Database. When possible, Greenplum Database handles the function on the master instance in the following manner:
GPORCA introduces a new costing model for bitmap indexes. The new model is designed to choose faster, bitmap nested loop joins instead of hash joins. The new costing model is implemented as a Beta feature, and it is used as a default only if you enable it by setting the configuration parameter:
set optimizer_cost_model = experimental
The optimizer_cost_model
parameter is required only during the Beta test period for this cost model. After further testing and validation, the new cost model will be enabled by default.
Greenplum Database includes the server configuration parameter plan_cache_mode that controls whether a prepared statement (either explicitly prepared or implicitly generated, for example by PL/pgSQL) can be executed using a custom plan or a generic plan plan.
Custom plans are created for each execution using its specific set of parameter values, while generic plans do not rely on the parameter values and can be re-used across executions. By default, choice between these options is made automatically, but it can be overridden by setting this parameter. If the prepared statement has no parameters, a generic plan is always used. The allowed values are auto
(the default), force_custom_plan
and force_generic_plan
. This setting is considered when a cached plan is to be executed, not when it is prepared.
PXF version 5.11.1 is included, which introduces new and changed features and bug fixes. See PXF Version 5.11.1 below.
The s3
external table protocol automatically recognizes and uncompresses as deflate format any file that it reads that has a .deflate
extension.
Greenplum Database introduces the Greenplum R Client Beta, an interactive in-database data analytics tool. Refer to the Greenplum Database R Client (Beta) documentation for installation and usage information for this tool.
The Greenplum R Client (GreenplumR) is currently a Beta feature, and is not supported for production environments.
gpload
adds the --max_retries
option to specify the number of times the utility attempts to connect to Greenplum Database after a connection timeout. The default value, 0, does not attempt a connection after a timeout.
Greenplum Database introduces PL/Container version 3.0 Beta, which:
PXF includes the following new and changed features:
restart
command to stop, and then restart, all PXF server instances in the cluster. See Restarting PXF.pxf [cluster] sync
command now recognizes a [-d | --delete]
option. When specified, PXF deletes files on the remote host(s) that are not present in the PXF user configuration on the Greenplum Database master host. Refer to pxf and pxf cluster.guava
and Google Cloud Storage hadoop2
libraries.pxf-log4j.properties
template file updates a log filter and changes the level from INFO
to WARN
.$JAVA_HOME
setting in gpadmin
's .bashrc
file on the master, standby master, and segment hosts. You can now specify JAVA_HOME
before or during PXF initialization. Refer to the Initialization Overview in the PXF initialization documentation.Pivotal Greenplum 6.5.0 resolves these issues:
ESCAPE 'OFF'
or
DELIMITER 'OFF'
formatting options. This issue is resolved. PXF now correctly neither escapes nor adds delimiters when reading external data with an external table created with these options.
On systems that use a custom tablespace or filespace, gpstart
could fail to start a cluster if the standby master host was down (for example, if the standby was taken offline for maintenance), showing the error:
Error occured while stopping the standby master: ExecutionError: 'non-zero rc: 255' occured.
This problem occurred because gpstart
was attempting to check and sync the filespace or tablespace on the unavailable standby master host. gpstart
was modified to skip filespace and tablespace checks when the standby server is not available.
citext
datatype. The poor performance was because GPORCA did not gather statistics and calculate cardinalities for those columns. Now GPORCA gathers statistics and calculates cardinalities for columns defined with the
citext
datatype.
JOIN LATERAL
and the
LATERAL
subquery contains a
LIMIT
clause. Now the specified type of query completes.
ANALYZE
operation on a table with a column that is defined with the
citext
datatype returns the error
permission denied for schema <name>
. The error was generated when the user performing the operation did not have
USAGE
privilege in the schema where the
citext
datatype was defined with the
CREATE EXTENSION citext
command. Greenplum Database has been modified to not require
USAGE
privilege in the
citext
datatype schema for
ANALYZE
operations.
VACUUM FULL
operation on the
pg_class
catalog table and concurrently performing a
TRUNCATE
operation on a user created heap table returned the error updated tuple is already
HEAP_MOVED_OFF
and caused the database to become unavailable. The
TRUNCATE
command did not properly manage the heap table entry in
pg_class
during the
TRUNCATE
operation. This issue is resolved.
gprecoverseg
utility on a system with a large number of segment instances. Performance is improved, now the utility performs some recovery operations in parallel.
gpcheckcat
utility failed when the
dbid
of Greenplum Database master was not
1
. Now the master
dbid
is not required to be
1
.
cume_dist()
return the error
Backward scanning of tuplestores are not supported
if the query generates spill files. This issue is resolved and backward scanning of tuplestore spill files is allowed during query execution.
gp_use_legacy_hashops
was set to
on
, Greenplum Database incorrectly used the non-legacy opclasses when redistributing a table with an
ALTER TABLE...(REORGANIZE = TRUE)
command if the command contained
DISTRIBUTED BY
clause the did not specify an opclass. This caused
SELECT
commands against a table with redistributed data to return incorrect results.
analyzedb
utility could fail with an error similar to
ERROR: relation "pg_aoseg.pg_aocsseg_xxxxxx" does not exist
if a table was dropped during the
analyzedb
operation. This problem was resolved by ensuring that
analyzedb
skips any dropped tables when determining the list of tables to analyze.
$JAVA_HOME
. This issue is resolved; PXF has added flexibility to the specification of the
$JAVA_HOME
setting.
check_function_bodies
was set in a session on the master, the parameter setting did not persist when a related segment instance session was reset. This caused some functions to fail. Now the parameter setting persists when a segment instance session is reset.
GROUP BY
clause, the Postgres Planner returned the error
could not find pathkey item to sort
. The error was returned when the Postgres Planner supply did not properly manage information used for sorting.
pg_class
columns relpages and reltuples were not populated for the root partition, only for leaf partitions. This issue has been fixed by changing the method to calculate if a partition table is empty or not.
gpinitsystem
utility failed to set the password for a user name when the name is numeric.
--config-file
option,
analyzedb
did not enumerate the leaf partitions of a partitioned table and processed the root partition as a non-partitioned table. For heap tables this produced an error. For append-optimized tables, no error was raised, but DML changes to leaf partitions were not tracked properly. This issue has been resolved. Using the
--config-file
option correctly analyzes partitioned tables.
COPY
command in Greenplum Database 6 was poor when compared to Greenplum Database 5. The performance of the
COPY
command is improved.
IS NULL
predicate. Incorrect results were returned when either a merge join or a nested loop join did not correctly process the predicates. This issue is resolved.
superuser_default_connections
server configuration parameter. This issue is resolved. The default value for this parameter has changed from 3 to 10.
gp_enable_global_deadlock_detector
set to
on
, concurrent updates to the same table could produce an incorrect query result. This issue is resolved. Segments report waited-for transaction IDs to the master so that the master has the same transaction order as the segments.
ALTER TABLE tablename SPLIT PARTITION
could cause rows to be assigned to the wrong partition, or could cause a crash, if one or more columns before the partition key were dropped. This issue is resolved.
gpinitstandby
failed. A Python utility (
ifaddrs
) that is used those Greenplum Database utilities caused the failure.
ifaddrs
has been updated.
Release Date: 2020-02-11
Pivotal Greenplum 6.4.0 is a minor release that includes changed features and resolves several issues.
Greenplum Database 6.4.0 includes these changed features:
DISCARD ALL
is not supported. The command returns a message that states that the command is not supported and to consider alternatives such as DEALLOCATE ALL
or DISCARD TEMP
. See DISCARD.
Greenplum Database resource groups support automatic query termination when resource group global shared memory is enabled. For resource groups that use global shared memory, Greenplum Database gracefully cancels running queries that are managed by those resource groups when the queries consume a large portion of the global shared memory. At this point, the queries would have already consumed available resource group slot memory and group shared memory. Greenplum Database cancels queries in order of memory used, from highest to lowest until the percentage of utilized global shared memory is below the percentage specified by the server configuration parameter runaway_detector_activation_percent.
Global shared memory is enabled for resource groups that are configured to use the vmtracker
memory auditor, such as admin_group
and default_group
when the sum of the MEMORY_LIMIT
attribute values configured for all resource groups is less than 100. If resource groups are not configured to use global shared memory pool, the resource group automatic query termination feature is not enabled.
For information about resource groups, see Using Resource Groups.
Greenplum Database supports creating the standby master or mirror segment instances on hosts that are in a different subnet from the master and primary segment instance hosts. Mirror segment instances can also be moved to hosts that are in a different subnet.
Pivotal Greenplum 6.4.0 resolves these issues:
gpaddmirrors
utility failed to add mirror segments to a Greenplum Database system, when the mirror segments are in a different subnet from the primary segments. This issue is resolved. Now Greenplum Database supports mirror segments in a different subnet from the primary segments.
VACUUM
command again dispatches once per segment.
could not open temporary file
. The error was caused by incorrect predicate pushdown during preprocessing. This issue is resolved.
DISCARD TEMP
might not drop temporary tables on segment instances. This issue is resolved.
time constraints added on superuser role
every time a superuser role was checked. Now the message is logged only when time constraints are added to a superuser role.
to_timestamp()
function did not return an error for an out of range value. For example,
select to_timestamp('20200340123456','YYYYMMDDHH24MISS');
returned a valid date and time
2020-04-09 12:34:56-07
. This issue is resolved. Now the function returns an error.
gp_enable_global_deadlock_detector
.
Release Date: 2020-1-12
Pivotal Greenplum 6.3.0 is a minor release that includes new features and resolves several issues.
Greenplum Database 6.3.0 includes these new features:
The sever configuration parameter wait_for_replication_threshold
is introduced to improve performance for Greenplum Database systems with segment mirroring enabled. The parameter specifies the maximum amount of Write-Ahead Logging (WAL)-based records (in KB) written by a transaction on the primary segment instance before the records are written to the mirror segment instance for replication. As the default, Greenplum Database writes the records to the mirror segment instance when a checkpoint occurs or the wait_for_replication_threshold
value is reached. See wait_for_replication_threshold.
The PL/Container version has been updated to 2.1.0. This version supports Docker images with Python 3 installed. These new PL/Container features enable support for Python 3:
A Docker image that is installed with Python 3 - plcontainer-python3-images-2.1.0.tar.gz
The Docker image can be downloaded from Pivotal Network.
The new value python3
for the --language
option of plcontainer runtime-add
command.
You specify this value when you add a Docker image that has Python 3 installed on to the Greenplum Database hosts with the plcontainer runtime-add
command.
The GluonTS module has been added to Python Data Science Module package. The Python Data Science modules are installed with Python 3 in the Docker image on Pivotal Network.
For information about PL/Container, see PL/Container Language.
PXF version 5.10.1 is included, which introduces bug fixes.
The metrics collector extension included with Greenplum Database 6.3.0 adds a new gpcc.enable_query_profiling
server configuration parameter that can be enabled to help with performance troubleshooting. When off
, the default, the metrics collector does not collect queries executed by the gpmon
user in the gpperfmon database or plan node history for queries that run in less than ten seconds. If you enable gpcc.enable_query_profiling
in a session the metrics collector collects those queries in that session. See Metrics Collector Server Configuration Parameters in the Greenplum Command Center documentation for more information.
Pivotal Greenplum 6.3.0 is a minor release that resolves these issues:
UPDATE
or
DELETE
statements resulted in data movement between segments (for example, if the
UPDATE
of an affected tuple was distributed to another segment). The code was modified to check for distribution problems during
UPDATE
and
DELETE
operations, and to error out and cancel the operation in order to prevent data corruption. Problems detected in this manner are reported with the error:
distribution key of the tuple doesn't belong to current segment (actually from segment_id)
gp_dist_random()
, the definition of the restored view did not contain the function. Greenplum Database has been updated to resolve this issue. Now the restored view contains the correct definition.
analyzedb
command could take a long time to complete when Greenplum Database incorrectly determined that the statistics for a child partition were not up to date and subsequently resampled the statistics for all partitions. This issue is resolved.
segment reject limit reached
error when a
COPY
operation specified a
SEGMENT REJECT LIMIT
and Greenplum encountered a data formatting error. Because Greenplum rescanned the offending line, it returned the error even before the error limit had been reached. This issue is resolved.
ALTER TABLE
was used to add a new partition, and
WITH (OIDS=FALSE)
was specified as the only storage parameter for the new partition. The problem was caused by code that failed to handle the possibility of a null
reloption
value, which is generated when the single default storage parameter is specified. The partitioning code was modified to correctly handle the possibility of such null values.
gpload
installed with Greenplum Clients 6.2.1 returned this error:
No module named gppylib.gpversion
. This issue has been resolved.
gp_wlm
extension was loaded and the Greenplum Command Center workload management feature was not enabled. This is fixed in the
gp_wlm
extension included with Greenplum Database 6.3.0.
${pxf.session.user}
value and the
jdbc.pool.qualifier
property as described in
About Session Authorization in the JDBC Connector configuration documentation.
Release Date: 2019-12-12
Pivotal Greenplum 6.2.1 is a minor release that includes new features and resolves several issues.
Greenplum Database 6.2.1 includes these new features:
Greenplum Database supports materialized views. Materialized views are similar to views. A materialized view enables you to save a frequently used or complex query, then access the query results in a SELECT
statement as if they were a table. Materialized views persist the query results in a table-like form. Materialized view data cannot be directly updated. To refresh the materialized view data, use the REFRESH MATERIALIZED VIEW
command. See Creating and Managing Materialized Views.
The gpinitsystem
utility supports the --ignore-warnings
option. The option controls the value returned by gpinitsystem
when warnings or an error occurs. If you specify this option, gpinitsystem
returns 0 if warnings occurred during system initialization, and returns a non-zero value if a fatal error occurs. If this option is not specified, gpinitsystem
returns 1 if initialization completes with warnings, and returns value of 2 or greater if a fatal error occurs.
PXF version 5.10.0 is included, which introduces several new and changed features and bug fixes. See PXF Version 5.10.0 below.
PXF 5.10.0 includes the following new and changed features:
PXF has improved its performance when reading a large number of files from HDFS or an object store.
PXF bundles newer tomcat
and jackson
libraries.
The PXF JDBC Connector now supports pushdown of OR
and NOT
logical filter operators when specified in a JDBC named query or in an external table query filter condition.
PXF supports writing Avro-format data to Hadoop and object stores. Refer to Reading and Writing HDFS Avro Data for more information about this feature.
PXF is now certified with Hadoop 2.x and 3.1.x and Hive Server 2.x and 3.1, and bundles new and upgraded Hadoop libraries to support these versions.
PXF supports Kerberos authentication to Hive Server 2.x and 3.1.x.
PXF supports per-server user impersonation configuration.
PXF supports concurrent access to multiple Kerberized Hadoop clusters. In previous releases of Greenplum Database, PXF supported accessing a single Hadoop cluster secured with Kerberos, and this Hadoop cluster must have been configured as the default
PXF server.
PXF introduces a new template file, pxf-site.xml
, to specify the Kerberos and impersonation property settings for a Hadoop or JDBC server configuration. Refer to About Kerberos and User Impersonation Configuration (pxf-site.xml) for more information about this file.
PXF now supports connecting to Hadoop with a configurable Hadoop user identity. PXF previously supported only proxy access to Hadoop via the gpadmin
Greenplum user.
PXF version 5.10.0 deprecates the following configuration properties.
PXF_USER_IMPERSONATION
, PXF_PRINCIPAL
, and PXF_KEYTAB
settings in the pxf-env.sh
file. You can use the pxf-site.xml
file to configure Kerberos and impersonation settings for your new Hadoop server configurations.pxf.impersonation.jdbc
property setting in the jdbc-site.xml
file. You can use the pxf.service.user.impersonation
property to configure user impersonation for a new JDBC server configuration.Greenplum Database 6.2.1 includes these changed features:
Pivotal Greenplum 6.2.1 is a minor release that resolves these issues:
During Greenplum Database start up, the gpstart
utility did not report when a segment instance failed to start. The utility always displayed 0 skipped segment starts. This issue has been resolved. gpstart
output was also enhanced to provide additional warnings and summary information about the number of skipped segments. For example:
[WARNING]:-****************************************************************************
[WARNING]:-There are 1 segment(s) marked down in the database
[WARNING]:-To recover from this current state, review usage of the gprecoverseg
[WARNING]:-management utility which will recover failed segment instance databases.
[WARNING]:-****************************************************************************
WHERE
clause that references multiple columns. This issue has been resolved.
EXISTS
clause if the subquery includes a
LIMIT [ 0| ALL| NULL]
clause or an
OFFSET NULL
clause. This issue has been resolved.
LIMIT
clause (for example,
LIMIT (random() * 10)
). This occurred because Greenplum evaluated the
LIMIT
clause separately on each segment instance to obtain a preliminary limit, before evaluating it once again as the query was dispatched. The problem was fixed by ensuring that a volatile functions in a
LIMIT
clause functions are not pushed to segment instances for evaluation.
variable not found in subplan target list
. The issue applied to join queries where a table column had a user prescribed CAST applied to it while being both in the select list and in a join condition. At the same time, the column was also part of a motion operator in the query plan.
$MASTER_DATA_DIRECTORY/pg_tblspc
directory and the metrics collector did not detect these tablespaces. The metrics collector now follows the symlinks to find the names of the tablespace directories and the data directories located in those tablespaces. After enabling the new metrics collector the tablespaces may not be visible in Greenplum Command Center for up to four hours.
UPDATE
statement cannot update distribution columns if a btree index is defined on the distribution column and the
UPDATE
command contains an
IN
clause. The error was returned when Greenplum Database fell back to the Postgres planner to attempt the
UPDATE
operation. This issue has been resolved. Now GPORCA supports the specified type of updates.
gpinitsystem
help output used an invalid option for specifying the placement of mirror segment instances in a spread configuration. The correct option is
--mirror_mode=spread
. This issue has been resolved.
debug_query_string
settings. The cause was a message context issue and it has been resolved.
analyzedb
utility not updating the root partition statistics when generating the partitioned table statistics. This issue has now been resolved.
*:text:multi
profiles and S3 Select. This issue has been resolved. PXF now correctly handles wildcards specified in the
LOCATION
data path.
JOIN
query when different data types were used in a table column or the query constraints included a constant, and the query required motion. This issue is resolved.
IN
clause against the column or an
OR
of simple comparisons on the column such as
col = 5 OR col = 7
. Now GPORCA attempts to generate a query plan that uses the index.
MINIMAL_INTERVAL
(0 seconds) caused GPSS to consume a large amount of CPU resources, even when no new messages existed in the Kafka topic. This issue is resolved in GPSS 1.3.1.
org.apache.hadoop.crypto.CryptoInputStream cannot be cast to org.apache.hadoop.hdfs.DFSInputStream
error in this situation. This issue is resolved.
Release Date: 2019-11-1
Pivotal Greenplum 6.1.0 is a minor release that includes new features and resolves several issues.
Greenplum Database 6.1.0 includes these new features:
Greenplum Stream Server 1.3 is included, which introduces new features and bug fixes.
New GPSS features include:
logrotate
system. See the GPSS Documentation for more information.INPUT:FILTER
load configuration property. This property enables you to specify a filter that GPSS applies to Kafka input data before loading it into Greenplum Database.--partition
flag to the gpsscli progress
command.--force-reset-timestamp
flag when you run gpsscli load
, gpsscli start
, or gpkafka load
.MODE
, MATCH_COLUMNS
, UPDATE_COLUMNS
, and UPDATE_CONDITION
property values to direct these operations.The DataDirect JDBC and ODBC drivers were updated to versions 5.1.4.000270 (F000450.U000214) and 07.16.0334 (B0510, U0363), respectively.
The DataDirect JDBC driver introduces support for the prepareThreshold
connection parameter, which specifies the number of prepared statement executions that can be performed before the driver switches to using server-side prepared statements. This parameter defaults to 0, which preserves the earlier driver behavior of always using server-side prepare for prepared statements. Set a number greater than 1 to set a threshold after which server-side prepare is used.
ExecuteBatch()
always uses server-side prepare for prepared statements. This matches the behavior of the Postgres open source driver.
When the prepareThreshold
value is greater than 1, parameterized operations do not send any SQL prepare calls with connection.prepareStatement()
. The driver instead sends the query all at once, at execution time. Because of this limitation, the driver must determine the type of every column using the JDBC API before sending the query to the server. This determination works for many data types, but does not work for the following types that could be mapped to multiple Greenplum data types:
You must set prepareThreshold
to 0 before using parameterized operations with any of the above types. Examine the ResultSetMetaData
object in advance to determine if any of the above types are used in a query. Also keep in mind that GPORCA does not support prepared statements that have parameterized values, and will fall back to using the Postgres Planner.
See PrepareThreshold in the DataDirect documentation.
Pivotal Greenplum 6.1.0 is a minor release that resolves these issues:
EXPLAIN ANALYZE
command on a sorted query in utility mode would cause the segment to crash. This issue is fixed. Greenplum Database no longer crashes in this situation.
Error: unrecognized parameter "appendoptimized"
while creating a partitioned table that specified the
appendoptimized=true
storage parameter. This issue is fixed; the Greenplum Database server now properly recognizes the
appendoptimized
parameter when it is specified on partition table creation.
gpcheckcat
utility failed to generate a summary report if there was an orphan TOAST table entry in one of the segments. This is fixed. The string "N/A" is reported when there is no relation OID to report.
gpdb-2019-09-02_000000.csv
and
gpdb-2019-09-03_000000.csv
. This issue has now been fixed.
When running the analyzedb
command with the --skip_root_stats
option, the command could take a long time to finish when analyzing a partitioned table with many partitions due to how the root partition statistics were handled when the partitions were analyzed. This issue has been resolved. Now, only partition statistics are updated.
--skip_root_stats
option, you should ensure that root partition statistics are up to date so that GPORCA does not produce inferior query plans due to stale root partition statistics.
invalid seek in sequential BufFile
when the server configuration file
gp_workfile_compression
is
on
and the query spills to temporary workfiles. The error was caused due to an issue working with workfiles that contain compressed data. The issue has been resolved by correctly handling the compressed workfile data.
AssignTransactionId() called by Segment Reader process
when the server configuration parameter
temp_tablespaces
is set. The error was cause by an internal locking and transaction ID issue. This issue has been resolved by removing the requirement to acquire the lock.
citext
column, and the other is not. GPORCA did not use the correct hash when generating a plan that redistributes the
citext
column. Now Greenplum Database falls back to the Postgres Planner for the specified type of query.
analyzedb
command could take a long time to finish when analyzing a table with many partitions. The command's performance has been greatly improved by waiting to update the root partition statistics until all leaf partitions of a table have been analyzed.
gp_read_error_log()
on the external table now displays the offending data.
--force-reset-earliest
flag when loading data failed to read from the correct offset. This problem has been fixed. (Using the
--force-reset-xxx
flags outside of an offset mismatch scenario is discouraged.)
AND
and
OR
operands.
gp_interconnect_type
is
TCP
due to an issue with memory management during interconnect setup. The issue has been resolved by properly managing the internal interconnect object memory.
log_min_messages
is set to
debug5
. Greenplum Database did not properly handle a debug5 message correctly. The issue is resolved.
Release Date: 2019-10-11
Pivotal Greenplum 6.0.1 is a maintenance release that includes changed features and resolves several issues.
Greenplum Database 6.0.1 includes these changed features:
optimizer_use_gpdb_allocators
has been changed to true
. Now, as the default, GPORCA uses Greenplum Database memory management when executing queries instead of GPORCA-specific memory management. Greenplum Database memory management has several enhancements when compared to GPORCA-specific memory management. See optimizer_use_gpdb_allocators.Pivotal Greenplum 6.0.1 is a maintenance release that resolves these issues:
could not unlink file
log messages for spill files when
gp_enable_query_metrics
is
on
and
log_min_messages
is set to
INFO
. This issue has been resolved. Logging has been improved to not write the log message.
EXPLAIN
function,
cdbexplain_localExecStats
, operated under the assumption that it was always executed by a query dispatcher (QD) process. However, certain queries could generate plans where the function was executed by a query executor (QE) process. Running such queries with
EXPLAIN ANALYZE
would cause all segments to crash with segment faults, and error messages referencing
cdbexplain_localExecStats
. This problem has been resolved.
COPY
command attempted to write to a catalog table. This issue has been resolved, now Greenplum Database returns an error.
GRANT ALL ON ALL TABLES IN SCHEMA <schema> TO <role>
caused a PANIC when tables are partitioned or inherited by child tables. This issue has been fixed.
gpexpand
utility might have failed with a
Cannot allocate memory
error when system memory or swap space is low. The error was due to an issue with a python process library. This has been resolved by updating the python library.
SET
or
SHOW
command, or when executing a query when the Greenplum Database server configuration parameter
gp_resource_group_bypass
is set to
true
. The error is due to an issue with resource group memory accounting. This issue has been resolved, resource group memory accounting has been improved for individual statements.
The code dispatched from the master to segments to set a configuration parameter enclosed the value in single quotes. This did not handle values containing embedded single quotes, and parameters with the GUC_LIST_QUOTE
flag, such as search_path
, ended up having different values on the segments than on the master. For example,
SELECT set_config('search_path', 'my_schema,public', false);
was dispatched as
SET search_path TO 'my_schema,public';
instead of
SET search_path TO my_schema,public;
This is fixed. The set_config()
call is now dispatched to the segments as well, passing the (quoted) arguments directly so that the same code runs on the master and segments.
pxf cluster reset
did not reset PXF configuration on the standby master. This issue is fixed; the command now resets PXF configuration on all hosts in the Greenplum cluster, including the standby master.
PXF_CONF
. This issue has been resolved. PXF now correctly checks for this setting before continuing with initialization.
While not required, if you have previously instituted any of the workarounds identified for this issue that are described in Known Issues and Limitations, you may consider reverting the s3-site.xml
modifications or removing the yarn-site.xml
file from your S3 server directory.
gpinitsystem
to initialize a Greenplum Database system with mirroring enabled, the utility configured the
pg_hba.conf
file in a manner that did not permit incremental recovery of the primary segment instances. This issue is fixed in release 6.0.1. The
gpexpand
,
gprecoverseg
, and
gpaddmirrors
utilities were also updated to ensure that primary and mirror segments always have compatible
pg_hba.conf
entries in place after performing their respective operations.
$PXF_CONF/lib
. This issue has been resolved. A PXF MapR server configuration no longer affects JDBC access using PXF.
libedit
as a required dependency. However, the version of
libedit
that is available on Redhat 7 is not compatible with features such as tab-completion in
psql
. The
readline
library provides the same functionality as
libedit
, and all versions available across all supported platforms are compatible with the desired features. Therefore, instead of dynamically linking to
libedit
, Greenplum Database is now being built and dynamically linked to
readline
. This changes the required dependencies for the installers from
libedit
to
readline
.
Release Date: 2019-09-03
Pivotal Greenplum 6.0.0 is a major new release of Greenplum that includes new and changed features.
Pivotal Greenplum 6 includes these new features.
Pivotal Greenplum 6 incorporates several new features from PostgreSQL versions 8.4 through version 9.4.
PostgreSQL 8.4 improves the parsing of INTERVAL
literals to align with SQL standards. This changes the output for queries that use INTERVAL
labels between versions 5.x and 6.x. For example:
$ psql
psql (8.3.23)
Type "help" for help.
gpadmin=# select INTERVAL '1' YEAR;
interval
----------
00:00:00
(1 row)
$ psql
psql (9.2beta2)
Type "help" for help.
gpadmin=# select INTERVAL '1' YEAR;
interval
----------
1 year
(1 row)
See Date/Time Types for more information.
Greenplum Database 6.0 also includes these features and changes from PostgreSQL:
Support for user-defined I/O conversion casts. (PostgreSQL 8.4).
Support for column-level privileges (PostgreSQL 8.4).
The pg_db_role_setting
catalog table, which provides support for setting server configuration parameters for a specific database and role combination (PostgreSQL 9.0).
Values in the relkind
column of the pg_class
catalog table were changed to match entries in PostgreSQL 9.3.
Support for GIN index method (PostgreSQL 8.3).
Postgres Planner support for the SP-GiST index access method (PostgreSQL 9.2). (GPORCA ignores SP-GiST indexes.)
Postgres Planner support for ordered-set aggregates and moving-aggregates (PostgreSQL 9.4).
Support for jsonb
data type (PostgreSQL 9.4).
DELETE
, INSERT
, and UPDATE
supports the WITH
clause, CTE (common table expression) (PostgreSQL 9.1).
Collation support to specify sort order and character classification behavior for data at the column level (PostgreSQL 9.1).
Greenplum Database 6.0 adds support for zstd (Zstandard) compression for some database operations. See Enabling Compression.
In previous releases, if you specified both a UNIQUE
constraint and a DISTRIBUTED BY
clause in a CREATE TABLE
statement, then the DISTRIBUTED BY
clause was required to be equal to or a left-subset of the UNIQUE
columns. Greenplum 6.x relaxes this rule so that any subset of the UNIQUE
columns is accepted.
This change also affects the rules for how Greenplum 6.x selects a default distribution key. If gp_create_table_random_default_distribution
is off (the default) and you do not include a DISTRIBUTED BY
clause, then Greenplum chooses the table distribution key based on the command:
LIKE
or INHERITS
clause is specified, then Greenplum copies the distribution key from the source or parent table.PRIMARY KEY
or UNIQUE
constraints are specified, then Greenplum chooses the largest subset of all the key columns as the distribution key.LIKE
or INHERITS
clause is specified, then Greenplum chooses the first suitable column as the distribution key. (Columns with geometric or user-defined data types are not eligible as Greenplum distribution key columns.)Greenplum Database includes these new resource group features:
You no longer are required to specify a MEMORY_LIMIT
when you configure a Greenplum Database resource group. When you specify MEMORY_LIMIT=0
, Greenplum Database will use the resource group global shared memory pool to service queries running in the group.
When you specify MEMORY_SPILL_RATIO=0
, Greenplum Database will now use the statement_mem
server configuration parameter setting to identify the initial amount of query operator memory.
When used together to configure a resource group (MEMORY_LIMIT=0
and MEMORY_SPILL_RATIO=0
), these new capabilities provide a memory management scheme similar to that provided by Greenplum Database resource queues.
The default values of the MEMORY_SHARED_QUOTA
, MEMORY_SPILL_RATIO
, and MEMORY_LIMIT
attributes for the admin_group
and default_group
resource groups have been set to use this resource queue-like memory management scheme so that when you initially enable resource groups, your queries will run in a memory environment similar to before.
Resource Group | admin_group | default_group |
---|---|---|
MEMORY_LIMIT | 10 | 0 |
MEMORY_SHARED_QUOTA | 80 | 80 |
MEMORY_SPILL_RATIO | 0 | 0 |
PL/pgSQL in Greenplum Database 6.0 includes support for the following new features:
DETAIL
and HINT
text to user-thrown error messages. You can also specify the SQLSTATE
and SQLERRMSG
codes to return on a user-thrown error (PostgreSQL 8.4).RETURN QUERY EXECUTE
statement, which specifies a query to execute dynamically (PostgreSQL 8.4).CASE
statement (PostgreSQL 8.4). See Conditionals in the PostgreSQL documentation.The CREATE TABLE
command supports DISTRIBUTED REPLICATED
as a distribution policy. If this distribution policy is specified, Greenplum Database distributes all rows of the table to all segment instances in the Greenplum Database system.
ctid
,
cmin
,
cmax
,
xmin
,
xmax
, and
gp_segment_id
) cannot be referenced in user queries on replicated tables because they have no single, unambiguous value. Greenplum Database returns a
column does not exist
error for the query.
Greenplum Database 6 includes the following concurrency improvements:
UPDATE
and DELETE
operations. While this strategy did prevent deadlocks, it came at the cost of poor performance on concurrent updates. Greenplum Database 6 includes a global deadlock detector. This backend process collects and analyzes lock waiting data in the Greenplum cluster. If the Global Deadlock Detector determines that deadlock exists, it breaks the deadlock by cancelling one or more backend processes. By default, the global deadlock detector is deactivated and table-level exclusive locks are held for table updates. When the global deadlock detector is enabled, Greenplum Database holds row-level exclusive locks and concurrent updates are allowed. See Global Deadlock Detector.BEGIN
and COMMIT
a transaction. This benefits highly concurrent mixed workloads.VACUUM
can more easily skip pages it cannot lock. This reduces the frequency of a vacuum appearing to be "stuck," which occurs when VACUUM
waits to lock a block for cleanup and another session has held a lock on the block for a long time. Now VACUUM
skips a block it cannot lock and retries the block later.VACUUM
rechecks block visibility after it has removed dead tuples. If all remaining tuples in the block are visible to current and future transactions, the block is marked as all-visible.Greenplum Database 6 is distributed with these additional PostgreSQL and Greenplum contrib
modules:
Greenplum Database 6.0 includes PXF 5.8.1, which introduces the following new and changed features:
timestamptz
type when writing Parquet data to an external data source.reset
command to reset your local PXF server instance, or all PXF server instances in the cluster, to an uninitialized state. See Resetting PXF.DELIMITER
in the CREATE EXTERNAL TABLE
command LOCATION
URI.Greenplum Database 6.0 also includes these features and changes from version 5.x:
WITH
Queries (Common Table Expressions) are no longer considered a Beta feature, and are now enabled by default. See WITH Queries (Common Table Expressions).VACUUM
was updated to more easily skip pages that cannot be locked. This change should greatly reduce the incidence of VACUUM
getting "stuck" while waiting for other sessions.appendoptimized
alias for the appendonly
table storage option.gp_resgroup_status_per_host
and gp_resgroup_status_per_segment
gp_toolkit
views to display resource group CPU and memory usage on a per-host and/or per-segment basis.pg_stat_replication
view contains only master replication statistics.gpfdists
and psql
programs in the Greenplum Client and Loader Tools package for Windows support OpenSSL encryption.gpload
utility program provided in the Greenplum Client and Loader Tools package for Windows is compatible with Greenplum Database 5.Because Pivotal Greenplum Database is based on the open source Greenplum Database project code, it includes several Beta features to allow interested developers to experiment with their use on development systems. Feedback will help drive development of these features, and they may become supported in future versions of the product.
Key experimental features in Greenplum Database 6.0 include:
Storage plugin API for gpbackup
and gprestore
. Partners, customers, and OSS developers can develop plugins to use in conjunction with gpbackup
and gprestore
.
For information about the storage plugin API, see Backup/Restore Storage Plugin API.
Using the Greenplum Platform Extension (PXF) connectors to write Parquet data is a Beta feature.
Greenplum Database 6.0 includes these feature changes:
The performance characteristics of Greenplum Database under heavy loads have changed in version 6 as compared to previous versions. In particular, you may notice increased I/O operations on primary segments for changes related to GPSS, WAL replication, and other features. All customers are encouraged to perform load testing with real-world data to ensure that the new Greenplum 6 cluster configuration meets their performance needs.
gpbackup
and gprestore
are no longer installed with Greenplum Database 6, but are available separately on Pivotal Network and can be upgraded separately from the core database installation.
Greenplum 6 uses a new jump consistent hash algorithm to map hashed data values to Greenplum segments. The new algorithm ensures that, after new segments are added to the Greenplum 6 cluster, only those rows that hash to the new segment need to be moved. Greenplum 6 hashing has performance characteristics similar to earlier Greenplum releases, but should enable faster database expansion. Note that the new algorithm is more CPU intensive than the previous algorithm, so COPY
performance may degrade somewhat on CPU-bound systems.
The older, legacy hash functions are represented as non-default hash operator classes, named cdbhash_*_ops
. The non-default operator classes are used when upgrading from Greenplum Database earlier than 6.0. The legacy operator classes are compatible with each other, but if you mix the legacy operator classes with the new ones, queries will require Redistribute Motions.
The server configuration parameter gp_use_legacy_hashops
controls whether the legacy or default hash functions are used when creating tables that are defined with a distribution column.
The gp_distribution_policy
system table now contains more information about Greenplum Database tables and the policy for distributing table data across the segments including the operator class of the distribution hash functions.
The gpcheck
utility is no longer included in Greenplum Database 6.
The input file format for the gpmovemirrors
, gpaddmirrors
, gprecoverseg
and gpexpand
utilities has changed. Instead of using a colon character :
as a separator, the new file format uses a pipe character |
. For example, in previous releases a line in a gpexpand
input file would resemble:
sdw5:sdw5-1:50011:/gpdata/primary/gp9:11:9:p
The updated file format is:
sdw5|sdw5-1|50011|/gpdata/primary/gp9|11|9|p
In addition, gpaddmirrors
removes the mirror
prefix from lines in its input file. Whereas a line from the previous release might resemble:
mirror0=0:sdw1:sdw1-1:52001:53001:54001:/gpdata/mir1/gp0
The revised format is:
0=0|sdw1|sdw1-1|52001|53001|54001|/gpdata/mir1/gp0
Greenplum uses direct dispatch to target queries that use IS NULL
, similar to queries that filter on the table distribution key column(s).
The gpinitsystem
option to specify the standby master data directory changed from -F
to -S
. The -S
option no longer specifies spread mirroring. A new gpinitsystem
option is introduced to specify the mirroring configuration: --mirror-mode={group|spread}
.
The default value of the server configuration parameter log_rotation_size
has changed from 0 to 1GB. This changes the default log rotation behavior so that a new log file is opened when more than 1GB has been written to the current log file or when the current log file has been open for 24 hours.
The default value of the server configuration parameter effective_cache_size
has changed from 512MB to 16GB.
The gpssh-exkeys
utility now requires that you have already set up passwordless SSH from the master host to every other host in the cluster. Running gpssh-exkeys
then sets up passwordless SSH from every host to every other host.
The gpstop
smart shutdown behavior has changed. Previously, if you ran gpstop -M smart
(or just gpstop
), the utility exited with a message if there were any active client connections. Now, gpstop
waits for current connections to finish before completing the shutdown. If any connections remain open after the timeout period, or if you interrupt with CTRL-C, gpstop
lists the open connections and prompts whether to continue waiting for connections to finish, or to perform a fast or immediate shutdown. The default timeout period is 120 seconds and can be changed with the -t timeout_seconds
option.
In the pg_stat_activity
and pg_stat_replication
system views, the procpid
column was renamed to pid
to match the associated change in PostgreSQL 9.2.
In the pg_proc
system table, the proiswin
column was renamed to proiswindow
and relocated in the table to match the pg_proc
system table in PostgreSQL 8.4.
Queries that use SELECT DISTINCT
and UNION/INTERSECT/EXCEPT
no longer necessarily return sorted output. Previously these queries always removed duplicate rows by using Sort/Unique processing. They now implement hashing to conform to behavior introduced in PostgreSQL 8.4; this method does not produce sorted output. If your application requires sorted output for these queries, alter the queries to use an explicit ORDER BY
clause. Note that SELECT DISTINCT ON
never uses hashing, so its behavior is unchanged from previous versions.
In the gp_toolkit
schema, the gp_resgroup_config
view no longer contains the columns proposed_concurrency
, proposed_memory_limit
, proposed_memory_shared_quota
and proposed_memory_spill_ratio
.
In the pg_resgroupcapability
system table, the proposed
column has been removed.
The pg_database
system table datconfig
column was removed. Greenplum Database now uses the pg_db_role_setting
system table to keep track of per-database and per-role server configuration settings (PostgreSQL 9.0).
The pg_aggregate
system table aggordered
column was removed, and several new columns were added to the table to support ordered-set aggregates and moving-aggregates with the Postgres Planner (PostgreSQL 9.4). The ALTER/CREATE/DROP AGGREGATE
SQL command signatures have also been updated to reflect the pg_aggregate
catalog changes.
The pg_authid
system table rolconfig
column was removed. Greenplum Database now uses the pg_db_role_setting
system table to keep track of per-database and per-role server configuration settings (PostgreSQL 9.0).
When creating and altering a table that has a distribution column, you can now specify the hash function used to distribute data across segment instances.
Pivotal Greenplum Database 6 removes the RECHECK
option from ALTER OPERATOR FAMILY
and CREATE OPERATOR CLASS
DDL (PostgreSQL 8.4). Greenplum now determines whether an index operator is "lossy" on-the-fly at runtime.
Operator-related system catalog tables are modified to support operator families, compatibility, and types (ordering or search).
System catalog table entries for HyperLogLog (HLL) functions, aggregates, and types are modified to prefix names with gp_
. Renaming the HLL functions prevents name collisions with external Greenplum Database extensions that use HLL. Any user code written to use the built-in Greenplum Database HLL functions must be updated to use the new gp_
names.
The data-type-specific lag()
and lead()
functions are removed and replaced with more generic function signatures. Additionally, the offset
argument to the functions is changed from bigint
to the integer
data type. Refer to pg_upgrade Checks - Views with lead/lag functions using bigint in the gpupgrade
documentation or About Migrating Views Created with lag()/lead() Functions in the Greenplum Database documentation for information about these changes and the required upgrade or migration actions.
The "legacy optimizer" from previous releases of Greenplum is now referred to as the Postgres planner in both the code and documentation.
The transaction isolation levels in Greenplum Database 6.0 are changed to align with PostgreSQL transaction isolation levels since the introduction of the serializable snapshot isolation (SSI) mode in PostgreSQL 9.1. The new SSI mode, which is not implemented in Greenplum Database, provides true serializability by monitoring concurrent transactions and rolling back transactions that could introduce a serialization anomaly. The existing snapshot isolation (SI) mode guarantees that transactions operate on a single, consistent snapshot of the database, but does not guarantee a consistent result when a set of concurrent transactions is executed in any given sequence.
Greenplum Database 6.0 now allows the REPEATABLE READ
keywords with SQL statements such as BEGIN
and SET TRANSACTION
. A SERIALIZABLE
transaction in PostgreSQL 9.1 or later uses the new SSI mode. A SERIALIZABLE
transaction in Greenplum Database 6.0 falls back to REPEATABLE READ
, using the SI mode. The following table shows the SQL standard compliance for each transaction isolation level in Greenplum Database 6.0 and PostgreSQL 9.1.
Requested Transaction Isolation Level | Greenplum Database 6.0 Compliance | PostgreSQL 9.1 Compliance |
---|---|---|
READ UNCOMMITTED | READ COMMITTED | READ COMMITTED |
READ COMMITTED | READ COMMITTED | READ COMMITTED |
REPEATABLE READ | REPEATABLE READ (SI) | REPEATABLE READ (SI) |
SERIALIZABLE | Falls back to REPEATABLE READ (SI) | SERIALIZABLE (SSI) |
The CREATE TABLESPACE
command has changed.
gpfilespace
utility.FILESPACE
clause has been removed.WITH
clause has been added to allow specifying a tablespace location for a specific segment instance.The ALTER SEQUENCE
SQL command has new clauses START [WITH] start
and OWNER TO new_owner
(PostgreSQL 8.4). The START
clause sets the start value that will be used by future ALTER SEQUENCE RESTART
commands, but does not change the current value of the sequence. The OWNER TO
clause changes the sequence's owner.
The ALTER TABLE
SQL command has a SET WITH OIDS
clause to add an oid
system column to a table (PostgreSQL 8.4). Note that using oids with Greenplum Database tables is strongly discouraged.
The CREATE DATABASE
SQL command has new parameters LC_COLLATE
and LC_CTYPE
to specify the collation order and character classification for the new database.
The CREATE FUNCTION
SQL command has a new keyword WINDOW
, which indicates that the function is a window function rather than a plain function (PostgreSQL 8.4).
Specifying the index name in the CREATE INDEX
SQL command is now optional. Greenplum Database constructs a default index name from the table name and indexed columns.
In the CREATE TABLE
command, the Greenplum Database parser allows commas to be placed between a SUBPARTITION TEMPLATE
clause and its cooresponding SUBPARTITION BY
clause, and between consecutive SUBPARTITION BY
clauses. Using this undocumented syntax will generate a deprecation warning message.
Superuser privileges are now required to create a protocol. See CREATE PROTOCOL.
The CREATE TYPE
SQL command has a new LIKE=type
clause that copies the new type's representation (INTERNALLENGTH
, PASSEDBYVALUE
, ALIGNMENT
, and STORAGE
) from an existing type (PostgreSQL 8.4).
The GRANT
SQL command has new syntax to grant privileges on truncate, foreign data wrappers, and foreign data servers (PostgreSQL 8.4).
The LOCK
SQL command has an optional ONLY
keyword (PostgreSQL 8.4). When specified, the table is locked without locking any tables that inherit from it.
Using the LOCK table
statement outside of a transaction raises an error in Greenplum Database 6.0. In earlier releases, the statement executed, although it is only useful when executed inside of a transaction.
The SELECT
and VALUES
SQL commands support the SQL 2008 OFFSET
and FETCH
syntax (PostgreSQL 8.4). These clauses provide an alternative syntax for limiting the results returned by a query.
The FROM
clause can be omitted from a SELECT
command, but Greenplum Database no longer allows queries that omit the FROM
clause and also reference database tables.
The ROWS
and RANGE
SQL keywords have changed from reserved to unreserved, and may be used as table or column names without quoting.
In Greenplum 6, a query on an external table with descendants will by default recurse into the descendant tables. This is a change from previous Greenplum Database versions, which never recursed into descendants. To get the previous behavior in Greenplum 6, you must include the ONLY
keyword in the query to restrict the query to the parent table.
The default value for the optimizer_force_multistage_agg
server configuration parameter has changed from true
to false
. GPORCA will now by default choose between a one-stage or two-stage aggregate plan for a scalar distinct qualified aggregate based on cost.
The TRUNCATE
SQL command has an optional ONLY
keyword (PostgreSQL 8.4). When specified, the table is truncated without truncating any tables that inherit from it.
The createdb
command-line utility has new options -l
(--locale
), --lc-collate
, and --lc-ctype
to specify the locale and character classification for the database (PostgreSQL 8.4).
The pg_dump
, pg_dumpall
, and pg_restore
utilities have a new --role=rolename
option that instructs the utility to execute SET ROLE rolename
after connecting to the database and before starting the dump or restore operation (PostgreSQL 8.4).
The pg_dump
and pg_dumpall
command-line utilities have a new option --lock-wait-timeout=timeout
(PostgreSQL 8.4). When specified, instead of waiting indefinitely the dump fails if the utility cannot acquire shared table locks within the specified number of milliseconds.
The -d
and -D
command-line options are removed from the pg_dump
and pg_dumpall
utilities. The corresponding long versions, --inserts
and --column-inserts
are still supported. A new --binary-upgrade
option is added, for use by in-place upgrade utilities.
The -w
(--no-password
) option was added to the pg_dump
, pg_dumpall
, and pg_restore
utilities.
The -D
option is removed from the gpexpand
utility. The expansion schema will be created in the postgres
database.
The gpstate
utility has a new -x
option, which displays details of an in-progress system expansion. gpstate -s
and gpstate
with no options specified also report if a system expansion is in progress.
The pg_restore
utility has a new option -j
(--number-of-jobs
) parameter. This option can reduce time to restore a large database by running tasks such as loading data, creating indexes, and creating constraints concurrently.
The vacuumdb
utility has a new -F
(--freeze
) option to freeze row transaction information.
ALTER DATABASE
includes the SET TABLESPACE
clause to change the default tablespace.
CREATE DATABASE
includes the COLLATE
and CTYPE
options for setting the collation order and character classification of the new database.
In the gp_toolkit
schema, the gp_workfile_*
views have changed due to Greenplum Database 6 workfile enhancements. See Checking Query Disk Spill Space Usage for information about gp_workfile_*
views.
The server configuration parameter gp_workfile_compress_algorithm
has been changed to gp_workfile_compression
. When workfile compression is enabled, Greenplum Database uses Zstandard compression.
The Oracle Compatibility Functions are now available in Greenplum Database as an extension, based on the PostgreSQL orafce project at https://github.com/orafce/orafce. Instead of executing a SQL script to install the compatibility functions in a database, you now execute the SQL command CREATE EXTENSION orafce
. The Greenplum Database 6.0 orafce extension is based on the orafce 3.7 release. See Oracle Compatibility Functions for information about differences between the Greenplum Database compatibility functions and the PostgreSQL orafce extension.
Greenplum Database 6 supports specifying a table column of the citext
data type as a distribution key.
Greenplum Database 6 provides a single client and loader tool package that you can download and install on a client system. Previous Greenplum releases provided separate client and loader packages. For more information about the Greenplum 6 Clients package, refer to Client Tools in the platform requirements documentation.
Greenplum Database 6 includes both PostgreSQL-sourced and Greenplum- sourced contrib
modules. Most of these modules are now packaged as extensions, and you register an extension in Greenplum with the CREATE EXTENSION name
command. Refer to Installing Additional Supplied Modules for more information about registering contrib
modules in Greenplum Database 6.
When Greenplum Database High Availability is enabled, a primary segment instance is kept up to date with the mirror segment instance using Write-Ahead Logging (WAL)-based streaming replication. See Overview of Segment Mirroring.
The gp_stat_replication view contains replication statistics when master or segment mirroring is enabled.
In previous releases, segment mirroring employed a physical file replication scheme.
In the gp_segment_configuration
table, the replication_port
has been removed. The datadir
column has been added to display the segment instance data directory. The mode
column values are now s (synchronized) or n (not synchronized). Use the gp_stat_replication
view to determine the synchronization state.
The Greenplum Database 6 Client and Loader Tools package for Windows does not support running the gpfdist
program as a native Windows service.
Pivotal Greenplum Database 6.0 removes these features:
The gpseginstall
utility is no longer included. You must install the Greenplum software RPM on each segment host, as described in Installing the Greenplum Database Software.
The gptransfer
utility is no longer included; use gpcopy
for all functionality that was provided with gptransfer
.
The gp_fault_strategy
system table is no longer used. Greenplum Database now uses the gp_segment_configuration
system table to determine if mirroring is enabled.
Pivotal Greenplum Database 6 removes the gpcrondump
, gpdbrestore
, and gpmfr
management utilities. Use gpbackup
and gprestore
to back up and restore Greenplum Database.
Pivotal Greenplum Database 6 no longer supports Veritas NetBackup.
Pivotal Greenplum Database 6 no longer supports the use of direct I/O to bypass the buffering of memory within the file system cache for backup.
Pivotal Greenplum Database 6 no longer supports the gphdfs
external table protocol to access a Hadoop system. Use the Greenplum Platform Extension Framework (PXF) to access Hadoop in version 6. Refer to pxf:// Protocol for information about using the pxf
external table protocol.
Pivotal Greenplum Database 6 no longer supports SSLv3.
Pivotal Greenplum Database 6 removes the following server configuration parameters:
gp_analyze_relative_error
gp_backup_directIO
gp_backup_directIO_read_chunk_mb
gp_connections_per_thread
gp_enable_sequential_window_plans
gp_idf_deduplicate
gp_snmp_community
gp_snmp_monitor_address
gp_snmp_use_inform_or_trap
gp_workfile_checksumming
The undocumented gp_cancel_query()
function, and the configuration parameters gp_cancel_query_print_log
and gp_cancel_query_delay_time
, are removed in Greenplum Database 6.
The string_agg(expression)
function is removed from Greenplum 6. The function concatenates text values into a string. The string_agg(expression, delimiter)
function is still supported.
Pivotal Greenplum Database 6 no longer supports the ability to configure a Greenplum Database system to trigger SNMP (Simple Network Management Protocol) alerts or send email notifications to system administrators if certain database events occur. Use Pivotal Greenplum Command Center alerts to detect and respond to events that occur in a Greenplum system.
Pivotal Greenplum Database 6 removes the gpfilespace
utility. The CREATE TABLESPACE
command no longer requires a filespace created with the utility.
Pivotal Greenplum Database 6 no longer automatically casts text from the deprecated timestamp format YYYYMMDDHH24MISS. The format could not be parsed unambiguously in previous Greenplum Database releases. The format is not supported in PostgreSQL 9.4.
For example, this command returns an error in Greenplum Database 6. In previous releases, a timestamp is returned.
# select to_timestamp('20190905140000');
In Greenplum Database 6, this command returns a timestamp.
# select to_timestamp('20190905140000','YYYYMMDDHH24MISS');
Pivotal Greenplum Database 6 removes the --ignore-version
option from the pg_dump
, pg_dumpall
, and pg_restore
utilities.
The gpcheck
utility is no longer included.
Deprecated features will be removed in a future major release of Greenplum Database. VMware Greenplum 6.x deprecates:
Greenplum MapReduce, PL/Container 3 Beta and GreenplumR client (deprecated since 6.24.0).
The gpsys1
utility.
The analzyedb
option --skip_root_stats
(deprecated since 6.2).
If the option is specified, a warning is issued stating that the option will be ignored.
The server configuration parameter gp_statistics_use_fkeys
(deprecated since 6.2).
The server configuration parameter gp_ignore_error_table
(deprecated since 6.0).
To avoid a Greenplum Database syntax error, set the value of this parameter to true
when you run applications that execute CREATE EXTERNAL TABLE
or COPY
commands that include the now removed Greenplum Database 4.3.x INTO ERROR TABLE
clause.
Specifying =>
as an operator name in the CREATE OPERATOR
command (deprecated since 6.0).
The Greenplum external table C API (deprecated since 6.0).
Any developers using this API are encouraged to use the new Foreign Data Wrapper API in its place.
Commas placed between a SUBPARTITION TEMPLATE
clause and its corresponding SUBPARTITION BY
clause, and between consecutive SUBPARTITION BY
clauses in a CREATE TABLE
command (deprecated since 6.0).
Using this undocumented syntax will generate a deprecation warning message.
The timestamp format YYYYMMDDHH24MISS (deprecated since 6.0).
This format could not be parsed unambiguously in previous Greenplum Database releases, and is not supported in PostgreSQL 9.4.
The createlang
and droplang
utilities (deprecated since 6.0).
The pg_resqueue_status
system view (deprecated since 6.0).
Use the gp_toolkit.gp_resqueue_status
view instead.
The GLOBAL
and LOCAL
modifiers when creating a temporary table with the CREATE TABLE
and CREATE TABLE AS
commands (deprecated since 6.0).
These keywords are present for SQL standard compatibility, but have no effect in Greenplum Database.
Using WITH OIDS
or oids=TRUE
to assign an OID system column when creating or altering a table (deprecated since 6.0).
Allowing superusers to specify the SQL_ASCII
encoding regardless of the locale settings (deprecated since 6.0).
This choice may result in misbehavior of character-string functions when data that is not encoding-compatible with the locale is stored in the database.
The @@@
text search operator (deprecated since 6.0).
This operator is currently a synonym for the @@
operator.
The unparenthesized syntax for option lists in the VACUUM
command (deprecated since 6.0).
This syntax requires that the options to the command be specified in a specific order.
The plain
pgbouncer
authentication type (auth_type
= plain
) (deprecated since 4.x).
VMware Greenplum 6 has these limitations:
The following table lists key known issues in VMware Greenplum 6.x.
Issue | Category | Description |
---|---|---|
N/A | Greenplum on vSphere | A known issue exists for I/O failures with `fsync` error messages that can cause queries to fail when Greenplum is experiencing heavy workload and running in VMware vSphere Hypervisor (ESXi) from versions 7.0U3 to 7.0U3d. The only known resolution is upgrading or otherwise avoiding the impacted versions of ESXi. Refer to the [VMware Interoperability Matrix](https://interopmatrix.vmware.com/Interoperability?col=583,&row=0,&isHidePatch=false&isHideGenSupported=true&isHideTechSupported=true&isHideCompatible=false&isHideNTCompatible=false&isHideIncompatible=false&isHideNotSupported=true&isCollection=false) for the compatible versions of ESXi. For more information read the [Knowledge Base Article](https://community.pivotal.io/s/article/PANIC-could-not-fsync-file-base-XXXXX-XXXXX-Input-output-error?language=en_US) |
N/A | Platform Support | A kernel issue in Red Hat Enterprise Linux 8.5 and 8.6 can cause I/O freezes and synchronization problems with XFS filesystems. This issue is fixed in RHEL 8.7. See [RHEL8: xfs_buf deadlock between inode deletion and block allocation](https://access.redhat.com/solutions/6984334). |
31010 | Query Optimizer | A view created in Greenplum Database 5.28.3 or older that specified an external table in the FROM clause, and that was migrated to Greenplum Database 6.x, always falls back to the Postgres Planner when queried. Workaround: If you migrated a view from Greenplum Database 5.28.3 or earlier, and the view specified an external table in the |
N/A | Backup/Restore | Restoring the Greenplum Database backup for a table fails in Greenplum 6 versions earlier than version 6.10 when a replicated table has an inheritance relationship to/from another table that was assigned via an ALTER TABLE ... INHERIT statement after table creation.
Workaround: Use the following SQL commands to determine if Greenplum Database includes any replicated tables that inherit from a parent table, or if there are replicated tables that are inherited by a child table:
If these queries return any tables, you may choose to run |
N/A | Spark Connector | This version of Greenplum is not compatible with Greenplum-Spark Connector versions earlier than version 1.7.0, due to a change in how Greenplum handles distributed transaction IDs. |
N/A | Greenplum on vSphere | Due to a corruption issue in vSAN 7.0.3., the most recent supported version of vSAN for Greenplum on vSphere is vSAN 7.0.2. |
N/A | PXF | Starting in 6.x, Greenplum does not bundle cURL and instead loads the system-provided library. PXF requires cURL version 7.29.0 or newer. The officially-supported cURL for the CentOS 6.x and Red Hat Enterprise Linux 6.x operating systems is version 7.19.*. Greenplum Database 6 does not support running PXF on CentOS 6.x or RHEL 6.x due to this limitation. Workaround: Upgrade the operating system of your Greenplum Database 6 hosts to CentOS 7+ or RHEL 7+, which provides a |
29703 | Loading Data from External Tables | Due to limitations in the Greenplum Database external table framework, Greenplum Database cannot log the following types of errors that it encounters while loading data:
Workaround: Clean the input data before loading it into Greenplum Database. |
30594 | Resource Management | Resource queue-related statistics may be inaccurate in certain cases. VMware recommends that you use the resource group resource management scheme that is available in Greenplum 6. |
30522 | Logging | Greenplum Database may write a FATAL message to the standby master or mirror log stating that the database system is in recovery mode when the instance is synchronizing with the master and Greenplum attempts to contact it before the operation completes. Ignore these messages and use gpstate -f output to determine if the standby successfully synchronized with the Greenplum master; the command returns Sync state: sync if it is synchronized. |
30537 | Postgres Planner | The Postgres Planner generates a very large query plan that causes out of memory issues for the following type of CTE (common table expression) query: the WITH clause of the CTE contains a partitioned table with a large number partitions, and the WITH reference is used in a subquery that joins another partitioned table.Workaround: If possible, use the GPORCA query optimizer. With the server configuration parameter |
170824967 | gpfdists | For Greenplum Database 6.x, a command that accesses an external table that uses the gpfdists protocol fails if the external table does not use an IP address when specifying a host system in the LOCATION clause of the external table definition. |
n/a | Materialized Views | By default, certain gp_toolkit views do not display data for materialized views. If you want to include this information in gp_toolkit view output, you must redefine a gp_toolkit internal view as described in Including Data for Materialized Views. |
168957894 | PXF | The PXF Hive Connector does not support using the Hive* profiles to access Hive transactional tables. Workaround: Use the PXF JDBC Connector to access Hive. |
168548176 | gpbackup | When using gpbackup to back up a Greenplum Database 5.7.1 or earlier 5.x release with resource groups enabled, gpbackup returns a column not found error for t6.value AS memoryauditor . |
164791118 | PL/R | PL/R cannot be installed using the deprecated createlang utility, and displays the error: Workaround: Use CREATE EXTENSION to install PL/R, as described in the documentation. |
N/A | Greenplum Client/Load Tools on Windows | The Greenplum Database client and load tools on Windows have not been tested with Active Directory Kerberos authentication. |
N/A | Greenplum Installation | For Greenplum Database 6.16.1 and 6.16.2, the library libevent is not listed as a dependency for the rpm for RHEL 7. Resolved in 6.16.3. |