Configuration Parameters

Descriptions of the Greenplum Database server configuration parameters listed alphabetically.

add_missing_from

Automatically adds missing table references to FROM clauses. Present for compatibility with releases of PostgreSQL prior to 8.1, where this behavior was allowed by default.

Value Range Default Set Classifications
Boolean off master session reload

application_name 0

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) 1 min 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_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

cpu_index_tuple_cost

For the legacy query optimizer (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 legacy query optimizer (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 legacy query optimizer (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 legacy query optimizer (planner) how many rows are expected to be fetched in a cursor query, thereby allowing the legacy optimizer 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

custom_variable_classes

Specifies one or several class names to be used for custom variables. A custom variable is a variable not normally known to the server but used by some add-on modules. Such variables must have names consisting of a class name, a dot, and a variable name.

Value Range Default Set Classifications
comma-separated list of class names unset local system restart

data_checksums

Reports whether checksums are enabled for heap data storage in the database system. Checksums for heap data are activated 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) 1 s 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 off master session reload

debug_print_parse

For each executed query, 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 executed query, 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 executed query, 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 executed query, 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 executed query, 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 legacy query optimizer (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_transaction_isolation

Controls the default isolation level of each new transaction.

Value Range Default Set Classifications
read committed read uncommitted 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 restart

effective_cache_size

Sets the assumption about the effective size of the disk cache that is available to a single query for the legacy query optimizer (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. 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, 8192 for 256MB. 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 16384 (512MB) master session reload

enable_bitmapscan

Activates or deactivates the use of bitmap-scan plan types by the legacy query optimizer (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 legacy query optimizer (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 legacy query optimizer (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 legacy query optimizer (planner).

Value Range Default Set Classifications
Boolean on master session reload

enable_indexscan

Activates or deactivates the use of index-scan plan types by the legacy query optimizer (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 legacy query optimizer (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 legacy query optimizer (planner). It’s not possible to suppress nested-loop joins entirely, but turning this variable off discourages the legacy optimizer 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 legacy query optimizer (planner). It’s not possible to suppress sequential scans entirely, but turning this variable off discourages the legacy optimizer 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 legacy query optimizer (planner). It’s not possible to suppress explicit sorts entirely, but turning this variable off discourages the legacy optimizer 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 legacy query optimizer (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 0 master session reload

filerep_mirrorvalidation_during_resync

The default setting false improves Greenplum Database performance during incremental resynchronization of segment mirrors. Setting the value to true enables checking for the existence of files for all relations on the segment mirror during incremental resynchronization. Checking for files degrades performance of the incremental resynchronization process but provides a minimal check of database objects.

Value Range Default Set Classifications
Boolean false master session reload

from_collapse_limit

The legacy query optimizer (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_adjust_selectivity_for_outerjoins

Enables the selectivity of NULL tests over outer joins.

Value Range Default Set Classifications
Boolean on master session reload

gp_analyze_relative_error

Sets the estimated acceptable error in the cardinality of the table “ a value of 0.5 is supposed to be equivalent to an acceptable error of 50% (this is the default value used in PostgreSQL). If the statistics collected during ANALYZE are not producing good estimates of cardinality for a particular table attribute, decreasing the relative error fraction (accepting less error) tells the system to sample more rows.

Value Range Default Set Classifications
floating point < 1.0 0.25 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_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 executed 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 none 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, ANALYZEis added and statistics are collected for the table.

Value Range Default Set Classifications
integer 2147483647 master session reload

gp_backup_directIO

Direct I/O allows Greenplum Database to bypass the buffering of memory within the file system cache for backup. When Direct I/O is used for a file, data is transferred directly from the disk to the application buffer, without the use of the file buffer cache.

Direct I/O is supported only on Red Hat Enterprise Linux, CentOS, and SUSE.

Value Range Default Set Classifications
on, off off local session reload

gp_backup_directIO_read_chunk_mb

Sets the chunk size in MB when Direct I/O is enabled with gp_backup_directIO. The default chunk size is 20MB.

The default value is the optimal setting. Decreasing it will increase the backup time and increasing it will result in little change to backup time.

Value Range Default Set Classifications
1-200 20 MB local 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 session reload

gp_connections_per_thread

Controls the number of asynchronous threads (worker threads) that a Greenplum Database query dispatcher (QD) generates when dispatching work to query executor processes on segment instances when processing SQL queries. The value sets the number of primary segment instances that a worker thread connects to when processing a query. For example, when the value is 2 and there are 64 segment instances, a QD generates 32 worker threads to dispatch a query plan work. Each thread is assigned to two segments.

For the default value, 0, a query dispatcher generates two types of threads: a main thread that manages the dispatch of query plan work, and an interconnect thread. The main thread also acts as a worker thread.

For a value greater than 0, a QD generates three types of threads: a main thread, one or more worker threads, and an interconnect thread. When the value is equal to or greater than the number of segment instances, a QD generates three threads: a main thread, a single worker thread, and an interconnect thread.

The value does not need to be changed from the default unless there are known throughput performance issues.

This parameter is master only and changing it requires a server restart.

Value Range Default Set Classifications
integer >= 0 0 master restart

gp_content

The local content id if a segment.

Value Range Default Set Classifications
integer read only

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 the LIKE or INHERITS clause is specified in table creation command, the created table uses the same distribution key as the source or parent table.

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 legacy

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