Descriptions of the Greenplum Database server configuration parameters listed alphabetically.

application_name

Sets the application name for a client session. For example, if connecting via psql, this will be set to psql. Setting an application name allows it to be reported in log messages and statistics views.

Value Range Default Set Classifications
string master, session, reload

array_nulls

This controls whether the array input parser recognizes unquoted NULL as specifying a null array element. By default, this is on, allowing array values containing null values to be entered. Greenplum Database versions before 3.0 did not support null values in arrays, and therefore would treat NULL as specifying a normal array element with the string value ‘NULL’.

Value Range Default Set Classifications
Boolean on master, session, reload

authentication_timeout

Maximum time to complete client authentication. This prevents hung clients from occupying a connection indefinitely.

Value Range Default Set Classifications
Any valid time expression (number and unit) 1min local, system, restart

backslash_quote

This controls whether a quote mark can be represented by \‘ in a string literal. The preferred, SQL-standard way to represent a quote mark is by doubling it (‘’) but PostgreSQL has historically also accepted \‘. However, use of \‘ creates security risks because in some client character set encodings, there are multibyte characters in which the last byte is numerically equivalent to ASCII .

Value Range Default Set Classifications
on (allow \’ always) off (reject always) safe_encoding (allow only if client encoding does not allow ASCII \ within a multibyte character) safe_encoding master, session, reload

block_size

Reports the size of a disk block.

Value Range Default Set Classifications
number of bytes 32768 read only

bonjour_name

Specifies the Bonjour broadcast name. By default, the computer name is used, specified as an empty string. This option is ignored if the server was not compiled with Bonjour support.

Value Range Default Set Classifications
string unset master, system, restart

check_function_bodies

When set to off, deactivates validation of the function body string during CREATE FUNCTION. Deactivating validation is occasionally useful to avoid problems such as forward references when restoring function definitions from a dump.

Value Range Default Set Classifications
Boolean on master, session, reload

client_connection_check_interval

Sets the time interval between optional checks that the client is still connected, while running queries. 0 deactivates connection checks.

Value Range Default Set Classifications
number of milliseconds 0 master, session, reload

client_encoding

Sets the client-side encoding (character set). The default is to use the same as the database encoding. See Supported Character Sets in the PostgreSQL documentation.

Value Range Default Set Classifications
character set UTF8 master, session, reload

client_min_messages

Controls which message levels are sent to the client. Each level includes all the levels that follow it. The later the level, the fewer messages are sent.

Value Range Default Set Classifications
DEBUG5 DEBUG4 DEBUG3 DEBUG2 DEBUG1 LOG NOTICE WARNING ERROR FATAL PANIC NOTICE master, session, reload

INFO level messages are always sent to the client.

cpu_index_tuple_cost

For the Postgres Planner, sets the estimate of the cost of processing each index row during an index scan. This is measured as a fraction of the cost of a sequential page fetch.

Value Range Default Set Classifications
floating point 0.005 master, session, reload

cpu_operator_cost

For the Postgres Planner, sets the estimate of the cost of processing each operator in a WHERE clause. This is measured as a fraction of the cost of a sequential page fetch.

Value Range Default Set Classifications
floating point 0.0025 master, session, reload

cpu_tuple_cost

For the Postgres Planner, Sets the estimate of the cost of processing each row during a query. This is measured as a fraction of the cost of a sequential page fetch.

Value Range Default Set Classifications
floating point 0.01 master, session, reload

cursor_tuple_fraction

Tells the Postgres Planner how many rows are expected to be fetched in a cursor query, thereby allowing the Postgres Planner to use this information to optimize the query plan. The default of 1 means all rows will be fetched.

Value Range Default Set Classifications
integer 1 master, session, reload

data_checksums

Reports whether checksums are enabled for heap data storage in the database system. Checksums for heap data are enabled or deactivated when the database system is initialized and cannot be changed.

Heap data pages store heap tables, catalog tables, indexes, and database metadata. Append-optimized storage has built-in checksum support that is unrelated to this parameter.

Greenplum Database uses checksums to prevent loading data corrupted in the file system into memory managed by database processes. When heap data checksums are enabled, Greenplum Database computes and stores checksums on heap data pages when they are written to disk. When a page is retrieved from disk, the checksum is verified. If the verification fails, an error is generated and the page is not permitted to load into managed memory.

If the ignore_checksum_failure configuration parameter has been set to on, a failed checksum verification generates a warning, but the page is allowed to be loaded into managed memory. If the page is then updated, it is flushed to disk and replicated to the mirror. This can cause data corruption to propagate to the mirror and prevent a complete recovery. Because of the potential for data loss, the ignore_checksum_failure parameter should only be enabled when needed to recover data. See ignore_checksum_failure for more information.

Value Range Default Set Classifications
Boolean on read only

DateStyle

Sets the display format for date and time values, as well as the rules for interpreting ambiguous date input values. This variable contains two independent components: the output format specification and the input/output specification for year/month/day ordering.

Value Range Default Set Classifications
<format>, <date style> where: <format> is ISO, Postgres, SQL, or German <date style> is DMY, MDY, or YMD ISO, MDY master, session, reload

db_user_namespace

This enables per-database user names. If on, you should create users as username@dbname. To create ordinary global users, simply append @ when specifying the user name in the client.

Value Range Default Set Classifications
Boolean off local, system, restart

deadlock_timeout

The time to wait on a lock before checking to see if there is a deadlock condition. On a heavily loaded server you might want to raise this value. Ideally the setting should exceed your typical transaction time, so as to improve the odds that a lock will be released before the waiter decides to check for deadlock.

Value Range Default Set Classifications
Any valid time expression (number and unit) 1s local, system, restart

debug_assertions

Turns on various assertion checks.

Value Range Default Set Classifications
Boolean off local, system, restart

debug_pretty_print

Indents debug output to produce a more readable but much longer output format. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean on master, session, reload

debug_print_parse

For each query run, prints the resulting parse tree. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean off master, session, reload

debug_print_plan

For each query run, prints the Greenplum parallel query execution plan. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean off master, session, reload

debug_print_prelim_plan

For each query run, prints the preliminary query plan. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean off master, session, reload

debug_print_rewritten

For each query run, prints the query rewriter output. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean off master, session, reload

debug_print_slice_table

For each query run, prints the Greenplum query slice plan. client_min_messages or log_min_messages must be DEBUG1 or lower.

Value Range Default Set Classifications
Boolean off master, session, reload

default_statistics_target

Sets the default statistics sampling target (the number of values that are stored in the list of common values) for table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS. Larger values may improve the quality of the Postgres Planner estimates.

Value Range Default Set Classifications
0 > Integer > 10000 100 master, session, reload

default_tablespace

The default tablespace in which to create objects (tables and indexes) when a CREATE command does not explicitly specify a tablespace.

Value Range Default Set Classifications
name of a tablespace unset master, session, reload

default_text_search_config

Selects the text search configuration that is used by those variants of the text search functions that do not have an explicit argument specifying the configuration. See Using Full Text Search for further information. The built-in default is pg_catalog.simple, but initdb will initialize the configuration file with a setting that corresponds to the chosen lc_ctype locale, if a configuration matching that locale can be identified.

Value Range Default Set Classifications
The name of a text search configuration. pg_catalog.simple master, session, reload

default_transaction_deferrable

When running at the SERIALIZABLE isolation level, a deferrable read-only SQL transaction may be delayed before it is allowed to proceed. However, once it begins running it does not incur any of the overhead required to ensure serializability; so serialization code will have no reason to force it to abort because of concurrent updates, making this option suitable for long-running read-only transactions.

This parameter controls the default deferrable status of each new transaction. It currently has no effect on read-write transactions or those operating at isolation levels lower than SERIALIZABLE. The default is off.

Note

Setting default_transaction_deferrable to on has no effect in Greenplum Database. Only read-only, SERIALIZABLE transactions can be deferred. However, Greenplum Database does not support the SERIALIZABLE transaction isolation level. See SET TRANSACTION.

Value Range Default Set Classifications
Boolean off master, session, reload

default_transaction_isolation

Controls the default isolation level of each new transaction. Greenplum Database treats read uncommitted the same as read committed, and treats serializable the same as repeatable read.

Value Range Default Set Classifications
read committed read uncommitted repeatable read serializable read committed master, session, reload

default_transaction_read_only

Controls the default read-only status of each new transaction. A read-only SQL transaction cannot alter non-temporary tables.

Value Range Default Set Classifications
Boolean off master, session, reload

dtx_phase2_retry_count

The maximum number of retries attempted by Greenplum Database during the second phase of a two phase commit. When one or more segments cannot successfully complete the commit phase, the master retries the commit a maximum of dtx_phase2_retry_count times. If the commit continues to fail on the last retry attempt, the master generates a PANIC.

When the network is unstable, the master may be unable to connect to one or more segments; increasing the number of two phase commit retries may improve high availability of Greenplum when the master encounters transient network issues.

Value Range Default Set Classifications
0 - INT_MAX 10 master, system, restart

dynamic_library_path

If a dynamically loadable module needs to be opened and the file name specified in the CREATE FUNCTION or LOAD command does not have a directory component (i.e. the name does not contain a slash), the system will search this path for the required file. The compiled-in PostgreSQL package library directory is substituted for $libdir. This is where the modules provided by the standard PostgreSQL distribution are installed.

Value Range Default Set Classifications
a list of absolute directory paths separated by colons $libdir local, system, reload

effective_cache_size

Sets the assumption about the effective size of the disk cache that is available to a single query for the Postgres Planner. This is factored into estimates of the cost of using an index; a higher value makes it more likely index scans will be used, a lower value makes it more likely sequential scans will be used. When setting this parameter, you should consider both Greenplum Database’s shared buffers and the portion of the kernel’s disk cache that will be used for data files (though some data might exist in both places). Take also into account the expected number of concurrent queries on different tables, since they will have to share the available space. This parameter has no effect on the size of shared memory allocated by a Greenplum server instance, nor does it reserve kernel disk cache; it is used only for estimation purposes.

Set this parameter to a number of block_size blocks (default 32K) with no units; for example, 262144 for 8GB. You can also directly specify the size of the effective cache; for example, '1GB' specifies a size of 32768 blocks. The gpconfig utility and SHOW command display the effective cache size value in units such as ‘GB’, ‘MB’, or ‘kB’.

Value Range Default Set Classifications
1 - INT_MAX or number and unit 524288 (16GB) master, session, reload

enable_bitmapscan

Activates or deactivates the use of bitmap-scan plan types by the Postgres Planner. Note that this is different than a Bitmap Index Scan. A Bitmap Scan means that indexes will be dynamically converted to bitmaps in memory when appropriate, giving faster index performance on complex queries against very large tables. It is used when there are multiple predicates on different indexed columns. Each bitmap per column can be compared to create a final list of selected tuples.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_groupagg

Activates or deactivates the use of group aggregation plan types by the Postgres Planner.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_hashagg

Activates or deactivates the use of hash aggregation plan types by the Postgres Planner.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_hashjoin

Activates or deactivates the use of hash-join plan types by the Postgres Planner.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_implicit_timeformat_YYYYMMDDHH24MISS

Activates or deactivates the deprecated implicit conversion of a string with the YYYYMMDDHH24MISS timestamp format to a valid date/time type.

The default value is off. When this parameter is set to on, Greenplum Database converts a string with the timestamp format YYYYMMDDHH24MISS into a valid date/time type. You may require this conversion when loading data from Greenplum Database 5.

Value Range Default Set Classifications
Boolean off master, session, reload

enable_indexscan

Activates or deactivates the use of index-scan plan types by the Postgres Planner.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_mergejoin

Activates or deactivates the use of merge-join plan types by the Postgres Planner. Merge join is based on the idea of sorting the left- and right-hand tables into order and then scanning them in parallel. So, both data types must be capable of being fully ordered, and the join operator must be one that can only succeed for pairs of values that fall at the ‘same place’ in the sort order. In practice this means that the join operator must behave like equality.

Value Range Default Set Classifications
Boolean off master, session, reload

enable_nestloop

Activates or deactivates the use of nested-loop join plans by the Postgres Planner. It’s not possible to suppress nested-loop joins entirely, but turning this variable off discourages the Postgres Planner from using one if there are other methods available.

Value Range Default Set Classifications
Boolean off master, session, reload

enable_seqscan

Activates or deactivates the use of sequential scan plan types by the Postgres Planner. It’s not possible to suppress sequential scans entirely, but turning this variable off discourages the Postgres Planner from using one if there are other methods available.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_sort

Activates or deactivates the use of explicit sort steps by the Postgres Planner. It’s not possible to suppress explicit sorts entirely, but turning this variable off discourages the Postgres Planner from using one if there are other methods available.

Value Range Default Set Classifications
Boolean on master, session, reload

enable_tidscan

Activates or deactivates the use of tuple identifier (TID) scan plan types by the Postgres Planner.

Value Range Default Set Classifications
Boolean on master, session, reload

escape_string_warning

When on, a warning is issued if a backslash () appears in an ordinary string literal (‘…’ syntax). Escape string syntax (E’…’) should be used for escapes, because in future versions, ordinary strings will have the SQL standard-conforming behavior of treating backslashes literally.

Value Range Default Set Classifications
Boolean on master, session, reload

explain_pretty_print

Determines whether EXPLAIN VERBOSE uses the indented or non-indented format for displaying detailed query-tree dumps.

Value Range Default Set Classifications
Boolean on master, session, reload

extra_float_digits

Adjusts the number of digits displayed for floating-point values, including float4, float8, and geometric data types. The parameter value is added to the standard number of digits. The value can be set as high as 3, to include partially-significant digits; this is especially useful for dumping float data that needs to be restored exactly. Or it can be set negative to suppress unwanted digits.

Value Range Default Set Classifications
integer (-15 to 3) 0 master, session, reload

from_collapse_limit

The Postgres Planner will merge sub-queries into upper queries if the resulting FROM list would have no more than this many items. Smaller values reduce planning time but may yield inferior query plans.

Value Range Default Set Classifications
1-n 20 master, session, reload

gp_add_column_inherits_table_setting

When adding a column to an append-optimized, column-oriented table with the ALTER TABLE command, this parameter controls whether the table’s data compression parameters for a column (compresstype, compresslevel, and blocksize) can be inherited from the table values. 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 settings are considered.

When you create an append-optimized column-oriented table, you can set the table’s data compression parameters compresstype, compresslevel, and blocksize for the table in the WITH clause. When you add a column, Greenplum Database sets each data compression parameter based on one of the following settings, in order of preference.

  1. The data compression setting specified in the ALTER TABLE command ENCODING clause.
  2. If this server configuration parameter is set to on, the table’s data compression setting specified in the WITH clause when the table was created. Otherwise, the table’s data compression setting is ignored.
  3. The data compression setting specified in the server configuration parameter gp_default_storage_options.
  4. The default data compression setting.

You must specify --skipvalidation when modifying this parameter as it is a restricted configuration parameter. Use extreme caution when setting configuration parameters with this option. For example:

1. gpconfig --skipvalidation -c gp_add_column_inherits_table_setting -v on

For information about the data storage compression parameters, see CREATE TABLE.

Value Range Default Set Classifications
Boolean off master, session, reload

gp_adjust_selectivity_for_outerjoins

Enables the selectivity of NULL tests over outer joins.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_appendonly_compaction

Enables compacting segment files during VACUUM commands. When deactivated, VACUUM only truncates the segment files to the EOF value, as is the current behavior. The administrator may want to deactivate compaction in high I/O load situations or low space situations.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_appendonly_compaction_threshold

Specifies the threshold ratio (as a percentage) of hidden rows to total rows that triggers compaction of the segment file when VACUUM is run without the FULL option (a lazy vacuum). If the ratio of hidden rows in a segment file on a segment is less than this threshold, the segment file is not compacted, and a log message is issued.

Value Range Default Set Classifications
integer (%) 10 master, session, reload

gp_autostats_allow_nonowner

The gp_autostats_allow_nonowner server configuration parameter determines whether or not to allow Greenplum Database to trigger automatic statistics collection when a table is modified by a non-owner.

The default value is false; Greenplum Database does not trigger automatic statistics collection on a table that is updated by a non-owner.

When set to true, Greenplum Database will also trigger automatic statistics collection on a table when:

  • gp_autostats_mode=on_change and the table is modified by a non-owner.
  • gp_autostats_mode=on_no_stats and the first user to INSERT or COPY into the table is a non-owner.

The gp_autostats_allow_nonowner configuration parameter can be changed only by a superuser.

Value Range Default Set Classifications
Boolean false master, session, reload, superuser

gp_autostats_mode

Specifies the mode for triggering automatic statistics collection with ANALYZE. The on_no_stats option triggers statistics collection for CREATE TABLE AS SELECT, INSERT, or COPY operations on any table that has no existing statistics.

The on_change option triggers statistics collection only when the number of rows affected exceeds the threshold defined by gp_autostats_on_change_threshold. Operations that can trigger automatic statistics collection with on_change are:

CREATE TABLE AS SELECT

UPDATE

DELETE

INSERT

COPY

Default is on_no_stats.

Note

For partitioned tables, automatic statistics collection is not triggered if data is inserted from the top-level parent table of a partitioned table.

Automatic statistics collection is triggered if data is inserted directly in a leaf table (where the data is stored) of the partitioned table. Statistics are collected only on the leaf table.

Value Range Default Set Classifications
none onchange on_no_stats on_no stats master, session, reload

gp_autostats_mode_in_functions

Specifies the mode for triggering automatic statistics collection with ANALYZE for statements in procedural language functions. The none option deactivates statistics collection. The on_no_stats option triggers statistics collection for CREATE TABLE AS SELECT, INSERT, or COPY operations that are run in functions on any table that has no existing statistics.

The on_change option triggers statistics collection only when the number of rows affected exceeds the threshold defined by gp_autostats_on_change_threshold. Operations in functions that can trigger automatic statistics collection with on_change are:

CREATE TABLE AS SELECT

UPDATE

DELETE

INSERT

COPY

Value Range Default Set Classifications
none on_change on_no_stats none master, session, reload

gp_autostats_on_change_threshold

Specifies the threshold for automatic statistics collection when gp_autostats_mode is set to on_change. When a triggering table operation affects a number of rows exceeding this threshold, ANALYZE is added and statistics are collected for the table.

Value Range Default Set Classifications
integer 2147483647 master, session, reload

gp_cached_segworkers_threshold

When a user starts a session with Greenplum Database and issues a query, the system creates groups or ‘gangs’ of worker processes on each segment to do the work. After the work is done, the segment worker processes are destroyed except for a cached number which is set by this parameter. A lower setting conserves system resources on the segment hosts, but a higher setting may improve performance for power-users that want to issue many complex queries in a row.

Value Range Default Set Classifications
integer > 0 5 master, session, reload

gp_command_count

Shows how many commands the master has received from the client. Note that a single SQLcommand might actually involve more than one command internally, so the counter may increment by more than one for a single query. This counter also is shared by all of the segment processes working on the command.

Value Range Default Set Classifications
integer > 0 1 read only

gp_connection_send_timeout

Timeout for sending data to unresponsive Greenplum Database user clients during query processing. A value of 0 deactivates the timeout, Greenplum Database waits indefinitely for a client. When the timeout is reached, the query is cancelled with this message:

1. Could not send data to client: Connection timed out.
Value Range Default Set Classifications
number of seconds 3600 (1 hour) master, system, reload

gp_content

The local content id if a segment.

Value Range Default Set Classifications
integer read only

gp_count_host_segments_using_address

Beginning in version 6.21.0, the Resource Groups implementation was changed to calculate segment memory using 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.

Value Range Default Set Classifications
boolean off master, system, restart

gp_create_table_random_default_distribution

Controls table creation when a Greenplum Database table is created with a CREATE TABLE or CREATE TABLE AS command that does not contain a DISTRIBUTED BY clause.

For CREATE TABLE, if the value of the parameter is off (the default), and the table creation command does not contain a DISTRIBUTED BY clause, Greenplum Database chooses the table distribution key based on the command:

  • If a LIKE or INHERITS clause is specified, then Greenplum copies the distribution key from the source or parent table.
  • If a PRIMARY KEY or UNIQUE constraints are specified, then Greenplum chooses the largest subset of all the key columns as the distribution key.
  • If neither constraints nor a 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.)

If the value of the parameter is set to on, Greenplum Database follows these rules to create a table when the DISTRIBUTED BY clause is not specified:

  • If PRIMARY KEY or UNIQUE columns are not specified, the distribution of the table is random (DISTRIBUTED RANDOMLY). Table distribution is random even if the table creation command contains the LIKE or INHERITS clause.
  • If PRIMARY KEY or UNIQUE columns are specified, a DISTRIBUTED BY clause must also be specified. If a DISTRIBUTED BY clause is not specified as part of the table creation command, the command fails.

For a CREATE TABLE AS command that does not contain a distribution clause:

  • If the Postgres Planner creates the table, and the value of the parameter is off, the table distribution policy is determined based on the command.
  • If the Postgres Planner creates the table, and the value of the parameter is on, the table distribution policy is random.
  • If GPORCA creates the table, the table distribution policy is random. The parameter value has no affect.

For information about the Postgres Planner and GPORCA, see “Querying Data” in the Greenplum Database Administrator Guide.

Value Range Default Set Classifications
boolean off master, session, reload

gp_dbid

The local content dbid of a segment.

Value Range Default Set Classifications
integer read only

gp_debug_linger

Number of seconds for a Greenplum process to linger after a fatal internal error.

Value Range Default Set Classifications
Any valid time expression (number and unit) 0 master, session, reload

gp_default_storage_options

Set the default values for the following table storage options when a table is created with the CREATE TABLE command.

  • appendoptimized

Note

You use the appendoptimized=value syntax to specify the append-optimized table storage type. appendoptimized is a thin alias for the appendonly legacy storage option. Greenplum Database stores appendonly in the catalog, and displays the same when listing the storage options for append-optimized tables. - blocksize - checksum - compresstype - compresslevel - orientation

Specify multiple storage option values as a comma separated list.

You can set the storage options with this parameter instead of specifying the table storage options in the WITH of the CREATE TABLE command. The table storage options that are specified with the CREATE TABLE command override the values specified by this parameter.

Not all combinations of storage option values are valid. If the specified storage options are not valid, an error is returned. See the CREATE TABLE command for information about table storage options.

The defaults can be set for a database and user. If the server configuration parameter is set at different levels, this the order of precedence, from highest to lowest, of the table storage values when a user logs into a database and creates a table:

  1. The values specified in a CREATE TABLE command with the WITH clause or ENCODING clause
  2. The value of gp_default_storage_options that set for the user with the ALTER ROLE...SET command
  3. The value of gp_default_storage_options that is set for the database with the ALTER DATABASE...SET command
  4. The value of gp_default_storage_options that is set for the Greenplum Database system with the gpconfig utility

The parameter value is not cumulative. For example, if the parameter specifies the appendoptimized and compresstype options for a database and a user logs in and sets the parameter to specify the value for the orientation option, the appendoptimized, and compresstype values set at the database level are ignored.

This example ALTER DATABASE command sets the default orientation and compresstype table storage options for the database mytest.

1. ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'

To create an append-optimized table in the mytest database with column-oriented table and RLE compression. The user needs to specify only appendoptimized=TRUE in the WITH clause.

This example gpconfig utility command sets the default storage option for a Greenplum Database system. If you set the defaults for multiple table storage options, the value must be enclosed in single quotes.

1. gpconfig -c 'gp_default_storage_options' -v 'appendoptimized=true, orientation=column'

This example gpconfig utility command shows the value of the parameter. The parameter value must be consistent across the Greenplum Database master and all segments.

1. gpconfig -s 'gp_default_storage_options'
Value Range Default Set Classifications1
appendoptimized= TRUE or FALSE blocksize= integer between 8192 and 2097152 checksum= TRUE or FALSE compresstype= ZLIB or ZSTD or QUICKLZ2 or RLE_TYPE or NONE compresslevel= integer between 0 and 19 orientation= ROW COLUMN appendoptimized=FALSE blocksize=32768 checksum=TRUE compresstype=none compresslevel=0 orientation=ROW

Note

1The set classification when the parameter is set at the system level with the gpconfig utility.

Note

2QuickLZ compression is available only in the commercial release of VMware Greenplum.

gp_dispatch_keepalives_count

Maximum number of TCP keepalive retransmits from a Greenplum Query Dispatcher to its Query Executors. It controls the number of consecutive keepalive retransmits that can be lost before a connection between a Query Dispatcher and a Query Executor is considered dead.

Value Range Default Set Classifications
0 to 127 0 (it uses the system default) master, system, restart

gp_dispatch_keepalives_idle

Time in seconds between issuing TCP keepalives from a Greenplum Query Dispatcher to its Query Executors.

Value Range Default Set Classifications
0 to 32767 0 (it uses the system default) master, system, restart

gp_dispatch_keepalives_interval

Time in seconds between TCP keepalive retransmits from a Greenplum Query Dispatcher to its Query Executors.

Value Range Default Set Classifications
0 to 32767 0 (it uses the system default) master, system, restart

gp_dynamic_partition_pruning

Enables plans that can dynamically eliminate the scanning of partitions.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_eager_two_phase_agg

Activates or deactivates two-phase aggregation for the Postgres Planner.

The default value is off; the Planner chooses the best aggregate path for a query based on the cost. When set to on, the Planner adds a deactivation cost to each of the first stage aggregate paths, which in turn forces the Planner to generate and choose a multi-stage aggregate path.

Value Range Default Set Classifications
Boolean off master, session, reload

gp_enable_agg_distinct

Activates or deactivates two-phase aggregation to compute a single distinct-qualified aggregate. This applies only to subqueries that include a single distinct-qualified aggregate function.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_agg_distinct_pruning

Activates or deactivates three-phase aggregation and join to compute distinct-qualified aggregates. This applies only to subqueries that include one or more distinct-qualified aggregate functions.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_direct_dispatch

Activates or deactivates the dispatching of targeted query plans for queries that access data on a single segment. When on, queries that target rows on a single segment will only have their query plan dispatched to that segment (rather than to all segments). This significantly reduces the response time of qualifying queries as there is no interconnect setup involved. Direct dispatch does require more CPU utilization on the master.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_exchange_default_partition

Controls availability of the EXCHANGE DEFAULT PARTITION clause for ALTER TABLE. The default value for the parameter is off. The clause is not available and Greenplum Database returns an error if the clause is specified in an ALTER TABLE command.

If the value is on, Greenplum Database returns a warning stating that exchanging the default partition might result in incorrect results due to invalid data in the default partition.

Warning: Before you exchange the default partition, you must ensure the data in the table to be exchanged, the new default partition, is valid for the default partition. For example, the data in the new default partition must not contain data that would be valid in other leaf child partitions of the partitioned table. Otherwise, queries against the partitioned table with the exchanged default partition that are run by GPORCA might return incorrect results.

Value Range Default Set Classifications
Boolean off master, session, reload

gp_enable_fast_sri

When set to on, the Postgres Planner plans single row inserts so that they are sent directly to the correct segment instance (no motion operation required). This significantly improves performance of single-row-insert statements.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_global_deadlock_detector

Controls whether the Greenplum Database Global Deadlock Detector is enabled to manage concurrent UPDATE and DELETE operations on heap tables to improve performance. See Inserting, Updating, and Deleting Datain the Greenplum Database Administrator Guide. The default is off, the Global Deadlock Detector is deactivated.

If the Global Deadlock Detector is deactivated (the default), Greenplum Database runs concurrent update and delete operations on a heap table serially.

If the Global Deadlock Detector is enabled, concurrent updates are permitted and the Global Deadlock Detector determines when a deadlock exists, and breaks the deadlock by cancelling one or more backend processes associated with the youngest transaction(s) involved.

Value Range Default Set Classifications
Boolean off master, system, restart

gp_enable_gpperfmon

Activates or deactivates the data collection agents that populate the gpperfmon database.

Value Range Default Set Classifications
Boolean off local, system, restart

gp_enable_groupext_distinct_gather

Activates or deactivates gathering data to a single node to compute distinct-qualified aggregates on grouping extension queries. When this parameter and gp_enable_groupext_distinct_pruning are both enabled, the Postgres Planner uses the cheaper plan.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_groupext_distinct_pruning

Activates or deactivates three-phase aggregation and join to compute distinct-qualified aggregates on grouping extension queries. Usually, enabling this parameter generates a cheaper query plan that the Postgres Planner will use in preference to existing plan.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_multiphase_agg

Activates or deactivates the use of two or three-stage parallel aggregation plans Postgres Planner. This approach applies to any subquery with aggregation. If gp_enable_multiphase_agg is off, thengp_enable_agg_distinct and gp_enable_agg_distinct_pruning are deactivated.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_predicate_propagation

When enabled, the Postgres Planner applies query predicates to both table expressions in cases where the tables are joined on their distribution key column(s). Filtering both tables prior to doing the join (when possible) is more efficient.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_preunique

Enables two-phase duplicate removal for SELECT DISTINCT queries (not SELECT COUNT(DISTINCT)). When enabled, it adds an extra SORT DISTINCT set of plan nodes before motioning. In cases where the distinct operation greatly reduces the number of rows, this extra SORT DISTINCT is much cheaper than the cost of sending the rows across the Interconnect.

Value Range Default Set Classifications
Boolean on master, session, reload

gp_enable_query_metrics

Enables collection of query metrics. When query metrics collection is enabled, Greenplum Database collects metrics during query execution. The default is off.

After changing this configuration parameter, Greenplum Database must be restarted for the change to take effect.

Th

(本文超出站点单文档体积上限,已截断)