Configuration Parameters
Descriptions of the Greenplum Database server configuration parameters listed
alphabetically.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
gp_autostats_mode_in_functions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
gp_enable_exchange_default_partition
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
optimizer
- optimizer_array_expansion_threshold
-
optimizer_analyze_root_partition
-
optimizer_control
-
optimizer_cte_inlining_bound
- optimizer_enable_associativity
-
optimizer_enable_master_only_queries
-
optimizer_force_multistage_agg
-
optimizer_force_three_stage_scalar_dqa
- optimizer_join_arity_for_associativity_commutativity
-
optimizer_join_order
-
optimizer_join_order_threshold
-
-
-
optimizer_minidump
-
optimizer_nestloop_factor
-
optimizer_parallel_union
-
optimizer_print_missing_stats
-
optimizer_print_optimization_stats
-
optimizer_sort_factor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- vmem_process_interrupt
-
- writable_external_table_bufsize
-
-
-
-
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
mastersession
reload
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
mastersession
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
mastersession
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
localsystem
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
mastersession
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
mastersystem
restart
check_function_bodies
When set to off, disables validation of the function body string during CREATE
FUNCTION. Disabling 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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
reload
data_checksums
Reports whether checksums are enabled for heap data storage in the database system.
Checksums for heap data are enabled or disabled 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 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
mastersession
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
localsystem
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
localsystem
restart
debug_assertions
Turns on various assertion checks.
Value Range
Default
Set Classifications
Boolean
off
localsystem
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
reload
default_transaction_isolation
Controls the default isolation level of each new transaction.
Value Range
Default
Set Classifications
read committedread uncommitted
serializable
read committed
mastersession
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
mastersession
reload
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
localsystem
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.
Value Range
Default
Set Classifications
floating point
512MB
mastersession
reload
enable_bitmapscan
Enables or disables 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
mastersession
reload
enable_groupagg
Enables or disables the use of group aggregation plan types by the legacy query optimizer
(planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
enable_hashagg
Enables or disables the use of hash aggregation plan types by the legacy query optimizer
(planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
enable_hashjoin
Enables or disables the use of hash-join plan types by the legacy query optimizer
(planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
enable_indexscan
Enables or disables the use of index-scan plan types by the legacy query optimizer
(planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
enable_mergejoin
Enables or disables 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
mastersession
reload
enable_nestloop
Enables or disables 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
mastersession
reload
enable_seqscan
Enables or disables 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
mastersession
reload
enable_sort
Enables or disables 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
mastersession
reload
enable_tidscan
Enables or disables the use of tuple identifier (TID) scan plan types by the legacy query
optimizer (planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
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
mastersession
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
mastersession
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
mastersession
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
mastersession
reload
gp_adjust_selectivity_for_outerjoins
Enables the selectivity of NULL tests over outer joins.
Value Range
Default
Set Classifications
Boolean
on
mastersession
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
mastersession
reload
gp_appendonly_compaction
Enables compacting segment files during VACUUM commands. When disabled,
VACUUM only truncates the segment files to the EOF value, as is the
current behavior. The administrator may want to disable compaction in high I/O load
situations or low space situations.
Value Range
Default
Set Classifications
Boolean
on
mastersession
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
mastersession
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.
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
noneon_change
on_no_stats
on_no_ stats
mastersession
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 disables 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
noneon_change
on_no_stats
none
mastersession
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
mastersession
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
mastersession
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 disables the timeout, Greenplum Database waits indefinitely for a
client. When the timeout is reached, the query is cancelled with this
message:Could not send data to client: Connection timed out.
Value Range
Default
Set Classifications
number of seconds
3600 (1 hour)
mastersystem
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
masterrestart
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 query optimizer creates the table, and the value of the parameter is
off, the table distribution policy is determined based on the
command.
- If the legacy query optimizer 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 legacy query optimizer and GPORCA, see "Querying Data" in the
Greenplum Database Administrator Guide.
Value Range
Default
Set Classifications
boolean
off
mastersystem
reload
gp_dbid
The local content dbid if 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
mastersession
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.
- APPENDONLY
- 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:
- The values specified in a CREATE TABLE command with the
WITH clause or ENCODING clause
- The value of gp_default_storage_options that set for the user with the
ALTER ROLE...SET command
- The value of gp_default_storage_options that is set for the database
with the ALTER DATABASE...SET command
- 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
APPENDONLY and COMPRESSTYPE options for a database
and a user logs in and sets the parameter to specify the value for the
ORIENTATION option, the APPENDONLY, 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 mystest.
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
APPENDONLY=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.gpconfig -c 'gp_default_storage_options' -v 'appendonly=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.gpconfig -s 'gp_default_storage_options'
Value Range
Default
Set Classifications 1
APPENDONLY= TRUE |
FALSEBLOCKSIZE= integer between 8192 and
2097152
CHECKSUM= TRUE |
FALSE
COMPRESSTYPE= ZLIB |
ZSTD | QUICKLZ2 |
RLE_TYPE | NONE
COMPRESSLEVEL= integer between 0 and
19
ORIENTATION= ROW |
COLUMN
APPENDONLY=FALSE
BLOCKSIZE=32768
CHECKSUM=TRUE
COMPRESSTYPE=none
COMPRESSLEVEL=0
ORIENTATION=ROW
mastersession
reload
1The set classification when the parameter is set at the system level with the
gpconfig utility.
2QuickLZ compression is available only in the commercial release of Pivotal
Greenplum Database.
gp_dynamic_partition_pruning
Enables plans that can dynamically eliminate the scanning of partitions.
Value Range
Default
Set Classifications
on/off
on
mastersession
reload
gp_email_from
The email address used to send email alerts, in the format of:
'username@example.com'
or
'Name <username@example.com>'
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
gp_email_smtp_password
The password/passphrase used to authenticate with the SMTP server.
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
gp_email_smtp_server
The fully qualified domain name or IP address and port of the SMTP server to use to send
the email alerts. Must be in the format of:
smtp_servername.domain.com:port
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
gp_email_smtp_userid
The user id used to authenticate with the SMTP server.
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
gp_email_to
A semi-colon (;) separated list of email addresses to receive email alert
messages to in the format of: 'username@example.com'
or
'Name <username@example.com>'
If this parameter is not set, then email alerts are disabled.
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
gp_enable_adaptive_nestloop
Enables the use a new type of join node called "Adaptive Nestloop" at query execution time
by the legacy query optimizer (planner). This causes the legacy optimizer to favor a
hash-join over a nested-loop join if the number of rows on the outer side of the join
exceeds a precalculated threshold. This parameter improves performance of index operations,
which previously favored slower nested-loop joins.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_agg_distinct
Enables or disables 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
mastersession
reload
gp_enable_agg_distinct_pruning
Enables or disables 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
mastersession
reload
gp_enable_direct_dispatch
Enables or disables 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
mastersystem
restart
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.
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 executed by GPORCA
might return incorrect results.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
gp_enable_fallback_plan
Allows use of disabled plan types when a query would not be feasible without them.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_fast_sri
When set to on, the legacy query optimizer (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
mastersession
reload
gp_enable_gpperfmon
Enables or disables the data collection agents that populate the gpperfmon
database for Greenplum Command Center.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
gp_enable_groupext_distinct_gather
Enables or disables 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 legacy query
optimizer (planner) uses the cheaper plan.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_groupext_distinct_pruning
Enables or disables 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 legacy query optimizer (planner) will use in preference to
existing plan.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_multiphase_agg
Enables or disables the use of two or three-stage parallel aggregation plans legacy query
optimizer (planner). This approach applies to any subquery with aggregation. If
gp_enable_multiphase_agg is off, then
gp_enable_agg_distinct and gp_enable_agg_distinct_pruning are
disabled.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_predicate_propagation
When enabled, the legacy query optimizer (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
mastersession
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
mastersession
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.
The Greenplum Database metrics collection extension, when enabled, sends the collected
metrics over UDP to a Pivotal Greenplum Command Center agent1.
1 The metrics collection extension is included in Pivotal's commercial
version of Greenplum Database. Pivotal Greenplum Command Center is supported only with
Pivotal Greenplum Database.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
gp_enable_relsize_collection
Enables the legacy query optimizer (planner) to use the estimated size of a table
(pg_relation_size function) if there are no statistics for the table. By
default, the planner uses a default value to estimate the number of rows if statistics are
not available. The default behavior improves query optimization time and reduces resource
queue usage in heavy workloads, but can lead to suboptimal plans.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
gp_enable_segment_copy_checking
Controls whether the distribution policy for a table (from the table
DISTRIBUTED clause) is checked when data is copied into the table with
the COPY FROM...ON SEGMENT command. The default is true,
check the policy when copying data into the table. An error is returned in these
situations.
- For a table that is not a partitioned table, an error is returned if the row of data
violates the distribution policy for a segment instance.
- For a partitioned table, an error is returned if either of the following is true.
- If the distribution policy of the child leaf partitioned table is the same as the
root table and the row of data violates the distribution policy for a segment
instance.
- If the distribution policy of the child leaf partitioned table is not the same as
the root table.
If the value is false, the distribution policy is not checked. The data
added to the table might violate the table distribution policy for the segment instance.
Manual redistribution of table data might be required. See the ALTER TABLE
clause WITH REORGANIZE.
The parameter can be set for a database system or a session. The parameter cannot be set
for a specific database.
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
gp_enable_sort_distinct
Enable duplicates to be removed while sorting.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_enable_sort_limit
Enable LIMIT operation to be performed while sorting. Sorts more
efficiently when the plan requires the first limit_number of rows at most.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_external_enable_exec
Enables or disables the use of external tables that execute OS commands or scripts on the
segment hosts (CREATE EXTERNAL TABLE EXECUTE syntax). Must be enabled
if using the Command Center or MapReduce features.
Value Range
Default
Set Classifications
Boolean
on
mastersystem
restart
gp_external_max_segs
Sets the number of segments that will scan external table data during an external table
operation, the purpose being not to overload the system with scanning data and take away
resources from other concurrent operations. This only applies to external tables that use
the gpfdist:// protocol to access external table data.
Value Range
Default
Set Classifications
integer
64
mastersession
reload
gp_filerep_tcp_keepalives_count
How many keepalives may be lost before the connection is considered dead. A value of 0 uses
the system default. If TCP_KEEPCNT is not supported, this parameter must be 0.
Use this parameter for all connections that are between a primary and mirror segment. Use
tcp_keepalives_count for settings that are not between a primary and
mirror segment.
Value Range
Default
Set Classifications
number of lost keepalives
2
localsystem
restart
gp_filerep_tcp_keepalives_idle
Number of seconds between sending keepalives on an otherwise idle connection. A value of 0
uses the system default. If TCP_KEEPIDLE is not supported, this parameter must be 0.
Use this parameter for all connections that are between a primary and mirror segment. Use
tcp_keepalives_idle for settings that are not between a primary and
mirror segment.
Value Range
Default
Set Classifications
number of seconds
1 min
localsystem
restart
gp_filerep_tcp_keepalives_interval
How many seconds to wait for a response to a keepalive before retransmitting. A value of 0
uses the system default. If TCP_KEEPINTVL is not supported, this parameter must be 0.
Use this parameter for all connections that are between a primary and mirror segment. Use
tcp_keepalives_interval for settings that are not between a primary and mirror segment.
Value Range
Default
Set Classifications
number of seconds
30 sec
localsystem
restart
gp_fts_probe_interval
Specifies the polling interval for the fault detection process (ftsprobe).
The ftsprobe process will take approximately this amount of time to detect
a segment failure.
Value Range
Default
Set Classifications
10 - 3600 seconds
1min
mastersystem
restart
gp_fts_probe_retries
Specifies the number of times the fault detection process (ftsprobe)
attempts to connect to a segment before reporting segment failure.
Value Range
Default
Set Classifications
integer
5
mastersystem
restart
gp_fts_probe_threadcount
Specifies the number of ftsprobe threads to create. This parameter should
be set to a value equal to or greater than the number of segments per host.
Value Range
Default
Set Classifications
1 - 128
16
mastersystem
restart
gp_fts_probe_timeout
Specifies the allowed timeout for the fault detection process (ftsprobe)
to establish a connection to a segment before declaring it down.
Value Range
Default
Set Classifications
10 - 3600 seconds
20 secs
mastersystem
restart
gp_log_fts
Controls the amount of detail the fault detection process (ftsprobe)
writes to the log file.
Value Range
Default
Set Classifications
OFFTERSE
VERBOSE
DEBUG
TERSE
mastersystem
restart
gp_log_interconnect
Controls the amount of information that is written to the log file about communication
between Greenplum Database segment instance worker processes. The default value is
terse. The log information is written to both the master and segment
instance logs.
Increasing the amount of logging could affect performance and increase disk space
usage.
Value Range
Default
Set Classifications
off
terse
verbose
debug
terse
mastersession
reload
gp_log_gang
Controls the amount of information that is written to the log file about query worker
process creation and query management. The default value is OFF, do not log
information.
Value Range
Default
Set Classifications
OFFTERSE
VERBOSE
DEBUG
OFF
mastersession
restart
gp_gpperfmon_send_interval
Sets the frequency that the Greenplum Database server processes send query execution
updates to the data collection agent processes used to populate the
gpperfmon database for Command Center. Query operations executed during
this interval are sent through UDP to the segment monitor agents. If you find that an
excessive number of UDP packets are dropped during long-running, complex queries, you may
consider increasing this value.
Value Range
Default
Set Classifications
Any valid time expression (number and unit)
1sec
mastersystem
restart
gpperfmon_log_alert_level
Controls which message levels are written to the gpperfmon log. Each level includes all the
levels that follow it. The later the level, the fewer messages are sent to the log.
If the gpperfmon database is installed and is monitoring the database,
the default value is warning.
Value Range
Default
Set Classifications
none warning
error
fatal
panic
none
localsystem
restart
gp_hadoop_home
Specifies the installation directory for the Greenplum Database gphdfs
Hadoop target.
Value Range
Default
Set Classifications
Valid directory name
Value of HADOOP_HOME
localsession
reload
gp_hadoop_target_version
The installed version of the Greenplum Database gphdfs Hadoop target.
Value Range
Default
Set Classifications
cdhhadoop
hdp
mpr
hadoop
localsession
reload
gp_hashjoin_tuples_per_bucket
Sets the target density of the hash table used by HashJoin operations. A smaller value will
tend to produce larger hash tables, which can increase join performance.
Value Range
Default
Set Classifications
integer
5
mastersession
reload
gp_ignore_error_table
Controls Greenplum Database behavior when the INTO ERROR TABLE clause is
specified in a CREATE EXTERNAL TABLE or COPY command. The
INTO ERROR TABLE clause was removed in Greenplum Database 5.
The default value is false, Greenplum Database returns an error if the
INTO ERROR TABLE clause is specified in a command.
If the value is true, Greenplum Database ignores the clause, issues a
warning, and executes the command and logs information about data rows with formatting
errors. In Greenplum Database 5.x, you access the error log information with built-in SQL
functions. See the CREATE
EXTERNAL TABLE or COPY command.
You can set this value to true to avoid the Greenplum Database 5 error
when you run applications that execute CREATE EXTERNAL TABLE or
COPY commands that include the Greenplum Database 4.3.x INTO
ERROR TABLE clause.
Value Range
Default
Set Classifications
Boolean
false
mastersystem
reload
gp_initial_bad_row_limit
For the parameter value n, Greenplum Database stops processing input rows when you
import data with the COPY command or from an external table if the first
n rows processed contain formatting errors. If a valid row is processed within the
first n rows, Greenplum Database continues processing input rows.
Setting the value to 0 disables this limit.
The SEGMENT REJECT LIMIT clause can also be specified for the
COPY command or the external table definition to limit the number of
rejected rows.
INT_MAX is the largest value that can be stored as an integer on your
system.
Value Range
Default
Set Classifications
integer 0 - INT_MAX
1000
mastersession
reload
gp_instrument_shmem_size
The amount of shared memory, in kilobytes, allocated for query metrics. The default is 5120
and the maximum is 131072. At startup, if gp_enable_query_metrics is set to on, Greenplum Database
allocates space in shared memory to save query metrics. This memory is organized as a header
and a list of slots. The number of slots needed depends on the number of concurrent queries
and the number of execution plan nodes per query. The default value, 5120, is based on a
Greenplum Database system that executes a maximum of about 250 concurrent queries with 120
nodes per query. If the gp_enable_query_metrics configuration parameter is
off, or if the slots are exhausted, the metrics are maintained in local memory instead of in
shared memory.
Value Range
Default
Set Classifications
integer 0 - 131072
5120
mastersystem
restart
gp_interconnect_debug_retry_interval
Specifies the interval, in seconds, to log Greenplum Database interconnect debugging
messages when the server configuration parameter gp_log_interconnect is set to DEBUG. The
default is 10 seconds.
The log messages contain information about the interconnect communication between Greenplum
Database segment instance worker processes. The information can be helpful when debugging
network issues between segment instances.
Value Range
Default
Set Classifications
1 =< Integer < 4096
10
mastersession
reload
gp_interconnect_fc_method
Specifies the flow control method used for the default Greenplum Database UDPIFC
interconnect.
For capacity based flow control, senders do not send packets when receivers do not have the
capacity.
Loss based flow control is based on capacity based flow control, and also tunes the sending
speed according to packet losses.
Value Range
Default
Set Classifications
CAPACITYLOSS
LOSS
mastersession
reload
gp_interconnect_hash_multiplier
Sets the size of the hash table used by the Greenplum Database to track interconnect
connections with the default UDPIFC interconnect. This number is multiplied by the number of
segments to determine the number of buckets in the hash table. Increasing the value may
increase interconnect performance for complex multi-slice queries (while consuming slightly
more memory on the segment hosts).
Value Range
Default
Set Classifications
2-25
2
mastersession
reload
gp_interconnect_queue_depth
Sets the amount of data per-peer to be queued by the Greenplum Database interconnect on
receivers (when data is received but no space is available to receive it the data will be
dropped, and the transmitter will need to resend it) for the default UDPIFC interconnect.
Increasing the depth from its default value will cause the system to use more memory, but
may increase performance. It is reasonable to set this value between 1 and 10. Queries with
data skew potentially perform better with an increased queue depth. Increasing this may
radically increase the amount of memory used by the system.
Value Range
Default
Set Classifications
1-2048
4
mastersession
reload
gp_interconnect_setup_timeout
Specifies the amount of time to wait for the Greenplum Database interconnect to complete
setup before it times out.
Value Range
Default
Set Classifications
Any valid time expression (number and unit)
2 hours
mastersession
reload
gp_interconnect_snd_queue_depth
Sets the amount of data per-peer to be queued by the default UDPIFC interconnect on
senders. Increasing the depth from its default value will cause the system to use more
memory, but may increase performance. Reasonable values for this parameter are between 1 and
4. Increasing the value might radically increase the amount of memory used by the
system.
Value Range
Default
Set Classifications
1 - 4096
2
mastersession
reload
gp_interconnect_type
Sets the networking protocol used for Greenplum Database interconnect traffic. UDPIFC
specifies using UDP with flow control for interconnect traffic, and is the only value
supported.
UDPIFC (the default) specifies using UDP with flow control for interconnect traffic.
Specify the interconnect flow control method with .
With TCP as the interconnect protocol, Greenplum Database has an upper limit of 1000
segment instances - less than that if the query workload involves complex, multi-slice
queries.
Value Range
Default
Set Classifications
UDPIFCTCP
UDPIFC
localsystem
restart
gp_log_format
Specifies the format of the server log files. If using gp_toolkit administrative
schema, the log files must be in CSV format.
gp_max_csv_line_length
The maximum length of a line in a CSV formatted file that will be imported into the system.
The default is 1MB (1048576 bytes). Maximum allowed is 4MB (4194184 bytes). The default may
need to be increased if using the gp_toolkit administrative schema to read Greenplum
Database log files.
Value Range
Default
Set Classifications
number of bytes
1048576
localsystem
restart
gp_max_local_distributed_cache
Sets the maximum number of distributed transaction log entries to cache in the backend
process memory of a segment instance.
The log entries contain information about the state of rows that are being accessed by an
SQL statement. The information is used to determine which rows are visible to an SQL
transaction when executing multiple simultaneous SQL statements in an MVCC environment.
Caching distributed transaction log entries locally improves transaction processing speed by
improving performance of the row visibility determination process.
The default value is optimal for a wide variety of SQL processing environments.
Value Range
Default
Set Classifications
integer
1024
localsystem
restart
gp_max_packet_size
Sets the tuple-serialization chunk size for the Greenplum Database interconnect.
Value Range
Default
Set Classifications
512-65536
8192
mastersystem
restart
gp_max_plan_size
Specifies the total maximum uncompressed size of a query execution plan multiplied by the
number of Motion operators (slices) in the plan. If the size of the query plan exceeds the
value, the query is cancelled and an error is returned. A value of 0 means that the size of
the plan is not monitored.
You can specify a value in kB, MB, or
GB. The default unit is kB. For example, a value of
200 is 200kB. A value of 1GB is the same as
1024MB or 1048576kB.
Value Range
Default
Set Classifications
integer
0
mastersuperuser
session
gp_max_slices
Specifies the maximum number of slices (portions of a query plan that are
executed on segment instances) that can be generated by a query. If the query generates more
than the specified number of slices, Greenplum Database returns an error and does not
execute the query. The default value is 0, no maximum value.
Executing a query that generates a large number of slices might affect Greenplum Database
performance. For example, a query that contains UNION or UNION
ALL operators over several complex views can generate a large number of slices.
You can run EXPLAIN ANALYZE on the query to view slice statistics for the
query.
Value Range
Default
Set Classifications
0 - INT_MAX
0
mastersession
reload
gp_motion_cost_per_row
Sets the legacy query optimizer (planner) cost estimate for a Motion operator to transfer a
row from one segment to another, measured as a fraction of the cost of a sequential page
fetch. If 0, then the value used is two times the value of cpu_tuple_cost.
Value Range
Default
Set Classifications
floating point
0
mastersession
reload
gp_num_contents_in_cluster
The number of primary segments in the Greenplum Database system.
Value Range
Default
Set Classifications
-
-
read only
gp_recursive_cte_prototype
Controls the availability of the experimental keyword RECURSIVE in the
WITH clause of a SELECT[ INTO] command. The keyword
allows a subquery in the WITH clause of a SELECT[ INTO]
command to reference itself. The default value is false, the keyword is not
allowed in the WITH clause a SELECT[ INTO] command.
The RECURSIVE keyword is an experimental feature and is
not intended for use in a production environment. Experimental features are subject to
change without notice in future releases.
For information about the experimental keyword RECURSIVE, see the
SELECT command.
The parameter can be set for a database system, an individual database, or a session or
query.
This parameter will be removed if the RECURSIVE keyword is promoted
from experimental or if the keyword is removed from Greenplum Database.
Value Range
Default
Set Classifications
Boolean
false
mastersession
restart
gp_reject_percent_threshold
For single row error handling on COPY and external table SELECTs, sets the number of rows
processed before SEGMENT REJECT LIMIT n PERCENT starts calculating.
Value Range
Default
Set Classifications
1-n
300
mastersession
reload
gp_reraise_signal
If enabled, will attempt to dump core if a fatal server error occurs.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_resgroup_memory_policy
The gp_resgroup_memory_policy server configuration parameter is
enforced only when resource group-based resource management is active.
Used by a resource group to manage memory allocation to query operators.
When set to auto, Greenplum Database uses resource group memory limits to
distribute memory across query operators, allocating a fixed size of memory to
non-memory-intensive operators and the rest to memory-intensive operators.
When you specify eager_free, Greenplum Database distributes memory among
operators more optimally by re-allocating memory released by operators that have completed
their processing to operators in a later query stage.
Value Range
Default
Set Classifications
auto, eager_free
eager_free
localsystem
superuser
restart/reload
gp_resource_group_cpu_limit
The gp_resource_group_cpu_limit server configuration parameter is
enforced only when resource group-based resource management is active.
Identifies the maximum percentage of system CPU resources to allocate to resource groups on
each Greenplum Database segment node.
Value Range
Default
Set Classifications
0.1 - 1.0
0.9
localsystem
restart
gp_resource_group_memory_limit
The gp_resource_group_memory_limit server configuration parameter is
enforced only when resource group-based resource management is active.
Identifies the maximum percentage of system memory resources to allocate to resource groups
on each Greenplum Database segment node.
Value Range
Default
Set Classifications
0.1 - 1.0
0.7
localsystem
restart
When resource group-based resource management is active, the memory allotted to a
segment host is equally shared by active primary segments. Greenplum Database assigns memory
to primary segments when the segment takes the primary role. The initial memory allotment to
a primary segment does not change, even in a failover situation. This may result in a
segment host utilizing more memory than the gp_resource_group_memory_limit
setting permits. For example, suppose your Greenplum Database cluster is utilizing the
default gp_resource_group_memory_limit of 0.7 and a
segment host named seghost1 has 4 primary segments and 4 mirror segments.
Greenplum Database assigns each primary segment on seghost1
(0.7 / 4 = 0.175%) of overall system memory. If failover occurs and two
mirrors on seghost1 fail over to become primary segments, each of the
original 4 primaries retain their memory allotment of 0.175, and the two
new primary segments are each allotted (0.7 / 6 = 0.116%) of system
memory. seghost1's overall memory allocation in this scenario
is
0.7 + (0.116 * 2) = 0.932%
which is above the percentage configured in the
gp_resource_group_memory_limit setting.
gp_resource_manager
Identifies the resource management scheme currently enabled in the Greenplum Database
cluster. The default scheme is to use resource queues.
Value Range
Default
Set Classifications
group queue
queue
localsystem
restart
gp_resqueue_memory_policy
The gp_resqueue_memory_policy server configuration parameter is
enforced only when resource queue-based resource management is active.
Enables Greenplum memory management features. The distribution algorithm
eager_free takes advantage of the fact that not all operators execute at
the same time (in Greenplum Database 4.2 and later). The query plan is divided into
stages and Greenplum Database eagerly frees memory allocated to a previous stage at the end
of that stage's execution, then allocates the eagerly freed memory to the new stage.
When set to none, memory management is the same as in Greenplum Database
releases prior to 4.1.
When set to auto, query memory usage is controlled by and resource queue memory limits.
Value Range
Default
Set Classifications
none, auto, eager_free
eager_free
localsystem
restart/reload
gp_resqueue_priority
The gp_resqueue_priority server configuration parameter is enforced
only when resource queue-based resource management is active.
Enables or disables query prioritization. When this parameter is disabled, existing
priority settings are not evaluated at query run time.
Value Range
Default
Set Classifications
Boolean
on
localsystem
restart
gp_resqueue_priority_cpucores_per_segment
The gp_resqueue_priority_cpucores_per_segment server configuration
parameter is enforced only when resource queue-based resource management is active.
Specifies the number of CPU units allocated per segment instance. For example, if a
Greenplum Database cluster has 10-core segment hosts that are configured with four segments,
set the value for the segment instances to 2.5. For the master instance, the value would be
10. A master host typically has only the master instance running on it, so the value for the
master should reflect the usage of all available CPU cores.
Incorrect settings can result in CPU under-utilization or query prioritization not working
as designed.
The default values for the Greenplum Data Computing Appliance V2 are 4 for segments and 25
for the master.
Value Range
Default
Set Classifications
0.1 - 512.0
4
localsystem
restart
gp_resqueue_priority_sweeper_interval
The gp_resqueue_priority_sweeper_interval server configuration
parameter is enforced only when resource queue-based resource management is active.
Specifies the interval at which the sweeper process evaluates current CPU usage. When a new
statement becomes active, its priority is evaluated and its CPU share determined when the
next interval is reached.
Value Range
Default
Set Classifications
500 - 15000 ms
1000
localsystem
restart
gp_role
The role of this server process " set to dispatch for the master and execute
for a segment.
Value Range
Default
Set Classifications
dispatchexecute
utility
read only
gp_safefswritesize
Specifies a minimum size for safe write operations to append-optimized tables in a
non-mature file system. When a number of bytes greater than zero is specified, the
append-optimized writer adds padding data up to that number in order to prevent data
corruption due to file system errors. Each non-mature file system has a known safe write
size that must be specified here when using Greenplum Database with that type of file
system. This is commonly set to a multiple of the extent size of the file system; for
example, Linux ext3 is 4096 bytes, so a value of 32768 is commonly used.
Value Range
Default
Set Classifications
integer
0
localsystem
restart
gp_segment_connect_timeout
Time that the Greenplum interconnect will try to connect to a segment instance over the
network before timing out. Controls the network connection timeout between master and
primary segments, and primary to mirror segment replication processes.
Value Range
Default
Set Classifications
Any valid time expression (number and unit)
10min
localsystem
reload
gp_segments_for_planner
Sets the number of primary segment instances for the legacy query optimizer (planner) to
assume in its cost and size estimates. If 0, then the value used is the actual number of
primary segments. This variable affects the legacy optimizer's estimates of the number of
rows handled by each sending and receiving process in Motion operators.
Value Range
Default
Set Classifications
0-n
0
mastersession
reload
gp_server_version
Reports the version number of the server as a string. A version modifier argument might be
appended to the numeric portion of the version string, example: 5.0.0 beta.
Value Range
Default
Set Classifications
String. Examples: 5.0.0
n/a
read only
gp_server_version_num
Reports the version number of the server as an integer. The number is guaranteed to always
be increasing for each version and can be used for numeric comparisons. The major version is
represented as is, the minor and patch versions are zero-padded to always be double digit
wide.
Value Range
Default
Set Classifications
Mmmpp where M is the major version, mm is
the minor version zero-padded and pp is the patch version zero-padded.
Example: 50000
n/a
read only
gp_session_id
A system assigned ID number for a client session. Starts counting from 1 when the master
instance is first started.
Value Range
Default
Set Classifications
1-n
14
read only
gp_set_proc_affinity
If enabled, when a Greenplum server process (postmaster) is started it will bind to a
CPU.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
gp_set_read_only
Set to on to disable writes to the database. Any in progress transactions must finish
before read-only mode takes affect.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
gp_snmp_monitor_address
The hostname:port of your network monitor application. Typically, the port number
is 162. If there are multiple monitor addresses, separate them with a comma.
Value Range
Default
Set Classifications
hostname:port
mastersystem
reload
gp_snmp_use_inform_or_trap
Trap notifications are SNMP messages sent from one application to another (for example,
between Greenplum Database and a network monitoring application). These messages are
unacknowledged by the monitoring application, but generate less network overhead.
Inform notifications are the same as trap messages, except that the application sends an
acknowledgement to the application that generated the alert.
gp_statistics_pullup_from_child_partition
Enables the use of statistics from child tables when planning queries on the parent table
by the legacy query optimizer (planner).
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_statistics_use_fkeys
When enabled, allows the legacy query optimizer (planner) to use foreign key information
stored in the system catalog to optimize joins between foreign keys and primary keys.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
gp_vmem_idle_resource_timeout
If a database session is idle for longer than the time specified, the session will free
system resources (such as shared memory), but remain connected to the database. This allows
more concurrent connections to the database at one time.
Value Range
Default
Set Classifications
Any valid time expression (number and unit)
18s
mastersystem
reload
gp_vmem_protect_limit
The gp_vmem_protect_limit server configuration parameter is enforced
only when resource queue-based resource management is active.
Sets the amount of memory (in number of MBs) that all postgres processes of an active
segment instance can consume. If a query causes this limit to be exceeded, memory will not
be allocated and the query will fail. Note that this is a local parameter and must be set
for every segment in the system (primary and mirrors). When setting the parameter value,
specify only the numeric value. For example, to specify 4096MB, use the value
4096. Do not add the units MB to the value.
To prevent over-allocation of memory, these calculations can estimate a safe
gp_vmem_protect_limit value.
First calculate the value gp_vmem. This is the Greenplum Database memory
available on a
hostgp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7
where SWAP is the host swap space and RAM is the RAM
on the host in GB.
Next, calculate the max_acting_primary_segments. This is the maximum
number of primary segments that can be running on a host when mirror segments are activated
due to a failure. With mirrors arranged in a 4-host block with 8 primary segments per host,
for example, a single segment host failure would activate two or three mirror segments on
each remaining host in the failed host's block. The
max_acting_primary_segments value for this configuration is 11 (8
primary segments plus 3 mirrors activated on failure).
This is the calculation for gp_vmem_protect_limit. The value should be
converted to MB.
gp_vmem_protect_limit = gp_vmem / acting_primary_segments
For scenarios where a large number of workfiles are generated, this is the calculation for
gp_vmem that accounts for the workfiles.
gp_vmem = ((SWAP + RAM) – (7.5GB + 0.05 * RAM - (300KB * total_#_workfiles))) / 1.7
For information about monitoring and managing workfile usage, see the Greenplum
Database Administrator Guide.
Based on the gp_vmem value you can calculate the value for the
vm.overcommit_ratio operating system kernel parameter. This parameter is
set when you configure each Greenplum Database host.
vm.overcommit_ratio = (RAM - (0.026 * gp_vmem)) / RAM
The default value for the kernel parameter vm.overcommit_ratio in Red
Hat Enterprise Linux is 50.
For information about the kernel parameter, see the Greenplum Database Installation
Guide.
Value Range
Default
Set Classifications
integer
8192
localsystem
restart
gp_vmem_protect_segworker_cache_limit
If a query executor process consumes more than this configured amount, then the process
will not be cached for use in subsequent queries after the process completes. Systems with
lots of connections or idle processes may want to reduce this number to free more memory on
the segments. Note that this is a local parameter and must be set for every segment.
Value Range
Default
Set Classifications
number of megabytes
500
localsystem
restart
gp_workfile_checksumming
Adds a checksum value to each block of a work file (or spill file) used by
HashAgg and HashJoin query operators. This adds an
additional safeguard from faulty OS disk drivers writing corrupted blocks to disk. When a
checksum operation fails, the query will cancel and rollback rather than potentially writing
bad data to disk.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
gp_workfile_compress_algorithm
When a hash aggregation or hash join operation spills to disk during query processing,
specifies the compression algorithm to use on the spill files. If using zlib, the zlib
library must be installed on all hosts in the Greenplum Database cluster.
If your Greenplum Database installation uses serial ATA (SATA) disk drives, setting the
value of this parameter to zlib might help to avoid overloading the disk
subsystem with IO operations.
Value Range
Default
Set Classifications
nonezlib
none
mastersession
reload
gp_workfile_limit_files_per_query
Sets the maximum number of temporary spill files (also known as workfiles) allowed per
query per segment. Spill files are created when executing a query that requires more memory
than it is allocated. The current query is terminated when the limit is exceeded.
Set the value to 0 (zero) to allow an unlimited number of spill files. master session
reload
Value Range
Default
Set Classifications
integer
100000
mastersession
reload
gp_workfile_limit_per_query
Sets the maximum disk size an individual query is allowed to use for creating temporary
spill files at each segment. The default value is 0, which means a limit is not enforced.
Value Range
Default
Set Classifications
kilobytes
0
master session
reload
gp_workfile_limit_per_segment
Sets the maximum total disk size that all running queries are allowed to use for creating
temporary spill files at each segment. The default value is 0, which means a limit is not
enforced.
Value Range
Default
Set Classifications
kilobytes
0
local system
restart
gpperfmon_port
Sets the port on which all data collection agents (for Command Center) communicate with the
master.
Value Range
Default
Set Classifications
integer
8888
mastersystem
restart
ignore_checksum_failure
Only has effect if is enabled.
Greenplum Database uses checksums to prevent loading data that has been corrupted in the
file system into memory managed by database processes.
By default, when a checksum verify error occurs when reading a heap data page, Greenplum
Database generates an error and prevents the page from being loaded into managed memory.
When ignore_checksum_failure is set to on and a checksum verify failure
occurs, Greenplum Database generates a warning, and allows the page to be read into managed
memory. If the page is then updated it is saved to disk and replicated to the mirror. If the
page header is corrupt an error is reported even if this option is enabled.
Setting ignore_checksum_failure to on may propagate or
hide data corruption or lead to other serious problems. However, if a checksum failure has
already been detected and the page header is uncorrupted, setting
ignore_checksum_failure to on may allow you to bypass the error and
recover undamaged tuples that may still be present in the table.
The default setting is off, and it can only be changed by a superuser.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
integer_datetimes
Reports whether PostgreSQL was built with support for 64-bit-integer dates and times.
Value Range
Default
Set Classifications
Boolean
on
read only
IntervalStyle
Sets the display format for interval values. The value sql_standard produces output
matching SQL standard interval literals. The value postgres produces output matching
PostgreSQL releases prior to 8.4 when the parameter
was set to ISO.
The value postgres_verbose produces output matching Greenplum releases prior to 3.3
when the parameter was set to non-ISO output.
The value iso_8601 will produce output matching the time interval format with
designators defined in section 4.4.3.2 of ISO 8601. See the PostgreSQL 8.4 documentation for more information.
Value Range
Default
Set Classifications
postgrespostgres_verbose
sql_standard
iso_8601
postgres
mastersession
reload
join_collapse_limit
The legacy query optimizer (planner) will rewrite explicit inner JOIN
constructs into lists of FROM items whenever a list of no more than this
many items in total would result. By default, this variable is set the same as
from_collapse_limit, which is appropriate for most uses. Setting it to 1 prevents
any reordering of inner JOINs. Setting this variable to a value between 1 and
from_collapse_limit might be useful to trade off planning time against the quality
of the chosen plan (higher values produce better plans).
Value Range
Default
Set Classifications
1-n
20
mastersession
reload
keep_wal_segments
For Greenplum Database master mirroring, sets the maximum number of processed WAL segment
files that are saved by the by the active Greenplum Database master if a checkpoint
operation occurs.
The segment files are used to sycnronize the active master on the standby master.
Value Range
Default
Set Classifications
integer
5
mastersystem
reload
superuser
krb_caseins_users
Sets whether Kerberos user names should be treated case-insensitively. The default is case
sensitive (off).
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
krb_server_keyfile
Sets the location of the Kerberos server key file.
Value Range
Default
Set Classifications
path and file name
unset
mastersystem
restart
krb_srvname
Sets the Kerberos service name.
Value Range
Default
Set Classifications
service name
postgres
mastersystem
restart
lc_collate
Reports the locale in which sorting of textual data is done. The value is determined when
the Greenplum Database array is initialized.
Value Range
Default
Set Classifications
<system dependent>
read only
lc_ctype
Reports the locale that determines character classifications. The value is determined when
the Greenplum Database array is initialized.
Value Range
Default
Set Classifications
<system dependent>
read only
lc_messages
Sets the language in which messages are displayed. The locales available depends on what
was installed with your operating system - use locale -a to list available locales.
The default value is inherited from the execution environment of the server. On some
systems, this locale category does not exist. Setting this variable will still work, but
there will be no effect. Also, there is a chance that no translated messages for the desired
language exist. In that case you will continue to see the English messages.
Value Range
Default
Set Classifications
<system dependent>
localsystem
restart
lc_monetary
Sets the locale to use for formatting monetary amounts, for example with the to_char
family of functions. The locales available depends on what was installed with your operating
system - use locale -a to list available locales. The default value is inherited from
the execution environment of the server.
Value Range
Default
Set Classifications
<system dependent>
localsystem
restart
lc_numeric
Sets the locale to use for formatting numbers, for example with the to_char family
of functions. The locales available depends on what was installed with your operating system
- use locale -a to list available locales. The default value is inherited from the
execution environment of the server.
Value Range
Default
Set Classifications
<system dependent>
localsystem
restart
lc_time
This parameter currently does nothing, but may in the future.
Value Range
Default
Set Classifications
<system dependent>
localsystem
restart
listen_addresses
Specifies the TCP/IP address(es) on which the server is to listen for connections from
client applications - a comma-separated list of host names and/or numeric IP addresses. The
special entry * corresponds to all available IP interfaces. If the list is empty, only
UNIX-domain sockets can connect.
Value Range
Default
Set Classifications
localhost,host names,
IP addresses,
* (all
available IP interfaces)
*
mastersystem
restart
local_preload_libraries
Comma separated list of shared library files to preload at the start of a client
session.
Value Range
Default
Set Classifications
localsystem
restart
log_autostats
Logs information about automatic ANALYZE operations related to and .
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser
log_connections
This outputs a line to the server log detailing each successful connection. Some client
programs, like psql, attempt to connect twice while determining if a password is required,
so duplicate "connection received" messages do not always indicate a problem.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
log_disconnections
This outputs a line in the server log at termination of a client session, and includes the
duration of the session.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
log_dispatch_stats
When set to "on," this parameter adds a log message with verbose information about the
dispatch of the statement.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
log_duration
Causes the duration of every completed statement which satisfies log_statement to be
logged.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser
log_error_verbosity
Controls the amount of detail written in the server log for each message that is
logged.
Value Range
Default
Set Classifications
TERSEDEFAULT
VERBOSE
DEFAULT
mastersession
reload
superuser
log_executor_stats
For each query, write performance statistics of the query executor to the server log. This
is a crude profiling instrument. Cannot be enabled together with
log_statement_stats.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
log_hostname
By default, connection log messages only show the IP address of the connecting host.
Turning on this option causes logging of the IP address and host name of the Greenplum
Database master. Note that depending on your host name resolution setup this might impose a
non-negligible performance penalty.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
log_min_duration_statement
Logs the statement and its duration on a single log line if its duration is greater than or
equal to the specified number of milliseconds. Setting this to 0 will print all statements
and their durations. -1 disables the feature. For example, if you set it to 250 then all SQL
statements that run 250ms or longer will be logged. Enabling this option can be useful in
tracking down unoptimized queries in your applications.
Value Range
Default
Set Classifications
number of milliseconds, 0, -1
-1
mastersession
reload
superuser
log_min_error_statement
Controls whether or not the SQL statement that causes an error condition will also be
recorded in the server log. All SQL statements that cause an error of the specified level or
higher are logged. The default is PANIC (effectively turning this feature off for normal
use). Enabling this option can be helpful in tracking down the source of any errors that
appear in the server log.
Value Range
Default
Set Classifications
DEBUG5
DEBUG4
DEBUG3
DEBUG2
DEBUG1
INFO
NOTICE
WARNING
ERROR
FATAL
PANIC
ERROR
mastersession
reload
superuser
log_min_messages
Controls which message levels are written to the server log. Each level includes all the
levels that follow it. The later the level, the fewer messages are sent to the log.
If the Greenplum Database PL/Container extension is installed. This parameter also controls
the PL/Container log level. For information about the extension, see .
Value Range
Default
Set Classifications
DEBUG5
DEBUG4
DEBUG3
DEBUG2
DEBUG1
INFO
NOTICE
WARNING
LOG
ERROR
FATAL
PANIC
WARNING
mastersession
reload
superuser
log_parser_stats
For each query, write performance statistics of the query parser to the server log. This is
a crude profiling instrument. Cannot be enabled together with
log_statement_stats.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser
log_planner_stats
For each query, write performance statistics of the legacy query optimizer (planner) to the
server log. This is a crude profiling instrument. Cannot be enabled together with
log_statement_stats.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser
log_rotation_age
Determines the maximum lifetime of an individual log file. After this time has elapsed, a
new log file will be created. Set to zero to disable time-based creation of new log
files.
Value Range
Default
Set Classifications
Any valid time expression (number and unit)
1d
localsystem
restart
log_rotation_size
Determines the maximum size of an individual log file. After this many kilobytes have been
emitted into a log file, a new log file will be created. Set to zero to disable size-based
creation of new log files.
The maximum value is INT_MAX/1024. If an invalid value is specified, the default value is
used. INT_MAX is the largest value that can be stored as an integer on your system.
Value Range
Default
Set Classifications
number of kilobytes
0
localsystem
restart
log_statement
Controls which SQL statements are logged. DDL logs all data definition commands like
CREATE, ALTER, and DROP commands. MOD logs all DDL statements, plus INSERT, UPDATE, DELETE,
TRUNCATE, and COPY FROM. PREPARE and EXPLAIN ANALYZE statements are also logged if their
contained command is of an appropriate type.
Value Range
Default
Set Classifications
NONEDDL
MOD
ALL
ALL
mastersession
reload
superuser
log_statement_stats
For each query, write total performance statistics of the query parser, planner, and
executor to the server log. This is a crude profiling instrument.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser
log_temp_files
Controls logging of temporary file names and sizes. Temporary files can be created for
sorts, hashes, temporary query results and spill files. A log entry is made in
pg_log for each temporary file when it is deleted. Depending on the
source of the temporary files, the log entry could be created on either the master and/or
segments. A log_temp_files value of zero logs all temporary file
information, while positive values log only files whose size is greater than or equal to the
specified number of kilobytes. The default setting is -1, which disables
logging. Only superusers can change this setting.
Value Range
Default
Set Classifications
Integer
-1
localsystem
restart
log_timezone
Sets the time zone used for timestamps written in the log. Unlike , this value is system-wide, so that all sessions will report timestamps
consistently. The default is unknown, which means to use whatever the
system environment specifies as the time zone.
Value Range
Default
Set Classifications
string
unknown
localsystem
restart
log_truncate_on_rotation
Truncates (overwrites), rather than appends to, any existing log file of the same name.
Truncation will occur only when a new file is being opened due to time-based rotation. For
example, using this setting in combination with a log_filename such as
gpseg#-%H.log would result in generating twenty-four hourly log files and
then cyclically overwriting them. When off, pre-existing files will be appended to in all
cases.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
max_appendonly_tables
Sets the maximum number of concurrent transactions that can write to or update
append-optimized tables. Transactions that exceed the maximum return an error.
Operations that are counted are INSERT, UPDATE,
COPY, and VACUUM operations. The limit is only for
in-progress transactions. Once a transaction ends (either aborted or committed), it is no
longer counted against this limit.
For operations against a partitioned table, each subpartition (child table) that is an
append-optimized table and is changed counts as a single table towards the maximum. For
example, a partitioned table p_tbl is defined with three subpartitions that
are append-optimized tables p_tbl_ao1, p_tbl_ao2, and
p_tbl_ao3. An INSERT or UPDATE command
against the partitioned table p_tbl that changes append-optimized tables
p_tbl_ao1 and p_tbl_ao2 is counted as two transactions.
Increasing the limit allocates more shared memory on the master host at server start.
Value Range
Default
Set Classifications
integer > 0
10000
mastersystem
restart
max_connections
The maximum number of concurrent connections to the database server. In a Greenplum
Database system, user client connections go through the Greenplum master instance only.
Segment instances should allow 5-10 times the amount as the master. When you increase this
parameter, must be increased as
well. For more information about limiting concurrent connections, see "Configuring Client
Authentication" in the Greenplum Database Administrator Guide.
Increasing this parameter may cause Greenplum Database to request more shared
memory.Increasing this parameter might cause Greenplum Database to request more shared
memory. See for information about Greenplum
server instance shared memory buffers.
Value Range
Default
Set Classifications
10-n
250 on master750 on segments
localsystem
restart
max_files_per_process
Sets the maximum number of simultaneously open files allowed to each server subprocess. If
the kernel is enforcing a safe per-process limit, you don't need to worry about this
setting. Some platforms such as BSD, the kernel will allow individual processes to open many
more files than the system can really support.
Value Range
Default
Set Classifications
integer
1000
localsystem
restart
max_fsm_pages
Sets the maximum number of disk pages for which free space will be tracked in the shared
free-space map. Six bytes of shared memory are consumed for each page slot.
Value Range
Default
Set Classifications
integer > 16 * max_fsm_relations
200000
localsystem
restart
max_fsm_relations
Sets the maximum number of relations for which free space will be tracked in the shared
memory free-space map. Should be set to a value larger than the total number of:
tables + indexes + system tables.
It costs about 60 bytes of memory for each relation per segment instance. It is better to
allow some room for overhead and set too high rather than too low.
Value Range
Default
Set Classifications
integer
1000
localsystem
restart
max_function_args
Reports the maximum number of function arguments.
Value Range
Default
Set Classifications
integer
100
read only
max_identifier_length
Reports the maximum identifier length.
Value Range
Default
Set Classifications
integer
63
read only
max_index_keys
Reports the maximum number of index keys.
Value Range
Default
Set Classifications
integer
32
read only
max_locks_per_transaction
The shared lock table is created with room to describe locks on
max_locks_per_transaction * (max_connections +
max_prepared_transactions) objects, so no more than this many distinct objects can
be locked at any one time. This is not a hard limit on the number of locks taken by any one
transaction, but rather a maximum average value. You might need to raise this value if you
have clients that touch many different tables in a single transaction.
Value Range
Default
Set Classifications
integer
128
localsystem
restart
max_prepared_transactions
Sets the maximum number of transactions that can be in the prepared state simultaneously.
Greenplum uses prepared transactions internally to ensure data integrity across the
segments. This value must be at least as large as the value of on the master. Segment instances should be set to the same value as the
master.
Value Range
Default
Set Classifications
integer
250 on master250 on segments
localsystem
restart
max_resource_portals_per_transaction
The max_resource_portals_per_transaction server configuration parameter
is enforced only when resource queue-based resource management is active.
Sets the maximum number of simultaneously open user-declared cursors allowed per
transaction. Note that an open cursor will hold an active query slot in a resource queue.
Used for resource management.
Value Range
Default
Set Classifications
integer
64
mastersystem
restart
max_resource_queues
The max_resource_queues server configuration parameter is enforced only
when resource queue-based resource management is active.
Sets the maximum number of resource queues that can be created in a Greenplum Database
system. Note that resource queues are system-wide (as are roles) so they apply to all
databases in the system.
Value Range
Default
Set Classifications
integer
9
mastersystem
restart
max_stack_depth
Specifies the maximum safe depth of the server's execution stack. The ideal setting for
this parameter is the actual stack size limit enforced by the kernel (as set by ulimit
-s or local equivalent), less a safety margin of a megabyte or so. Setting the
parameter higher than the actual kernel limit will mean that a runaway recursive function
can crash an individual backend process.
Value Range
Default
Set Classifications
number of kilobytes
2MB
localsystem
restart
max_statement_mem
The max_statement_mem server configuration parameter is enforced only
when resource queue-based resource management is active.
Sets the maximum memory limit for a query. Helps avoid out-of-memory errors on a segment
host during query processing as a result of setting
too high. When =auto, statement_mem and resource queue memory limits control
query memory usage. Taking into account the configuration of a single segment host,
calculate this setting as follows:
(seghost_physical_memory) / (average_number_concurrent_queries)
When changing both max_statement_mem and statement_mem,
max_statement_mem must be changed first, or listed first in the
postgresql.conf file.
Value Range
Default
Set Classifications
number of kilobytes
2000MB
mastersession
reload
superuser
memory_spill_ratio
The memory_spill_ratio server configuration parameter is enforced only
when resource group-based resource management is active.
Sets the memory usage threshold for memory-intensive operators in a transaction. When a
transaction reaches this threshold, it spills to disk.
The default memory_spill_ratio is the value defined for the resource group
assigned to the currently active role. You can set memory_spill_ratio at
the session level to selectively set this limit on a per-query basis. For example, if you
have a specific query that spills to disk and requires more memory, you may choose to set a
larger memory_spill_ratio to increase the initial memory allocation.
When you set memory_spill_ratio at the session level, Greenplum Database
does not perform semantic validation on the new value until you next perform a query.
Value Range
Default
Set Classifications
0 - 100
20
mastersession
reload
optimizer
Enables or disables GPORCA when running SQL queries. The default is on. If
you disable GPORCA, Greenplum Database uses only the legacy query optimizer.
GPORCA co-exists with the legacy query optimizer. With GPORCA enabled, Greenplum Database
uses GPORCA to generate an execution plan for a query when possible. If GPORCA cannot be
used, then the legacy query optimizer is used.
The optimizer parameter can be set for a database system, an individual
database, or a session or query.
For information about the legacy query optimizer and GPORCA, see Querying Data in the Greenplum Database Administrator
Guide.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
optimizer_analyze_root_partition
For a partitioned table, collects statistics for the root partition when the
ANALYZE command is run on the table. GPORCA uses the root partition
statistics when generating a query plan. The legacy query optimizer does not use these
statistics. If you set the value of the server configuration parameter to on, set the value of this parameter to on
and run the command ANALYZE or ANALYZE ROOTPARTITION
on partitioned tables to ensure the proper statistics have been collected.
For information about the legacy query optimizer and GPORCA, see Querying Data in the Greenplum Database Administrator
Guide.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
optimizer_array_expansion_threshold
When GPORCA is enabled (the default) and is processing a query that contains a predicate
with a constant array, the optimizer_array_expansion_threshold parameter
limits the optimization process based on the number of constants in the array. If the array
in the query predicate contains more than the number elements specified by parameter, GPORCA
disables the transformation of the predicate into its disjunctive normal form during query
optimization.
The default value is 25.
For example, when GPORCA is executing a query that contains an IN clause
with more than 25 elements, GPORCA does not transform the predicate into its disjunctive
normal form during query optimization to reduce optimization time consume less memory. The
difference in query processing can be seen in the filter condition for the
IN clause of the query EXPLAIN plan.
Changing the value of this parameter changes the trade-off between a shorter optimization
time and lower memory consumption, and the potential benefits from constraint derivation
during query optimization, for example conflict detection and partition elimination.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Integer > 0
25
mastersession
reload
optimizer_control
Controls whether the server configuration parameter optimizer can be
changed with SET, the RESET command, or the Greenplum
Database utility gpconfig. If the optimizer_control
parameter value is on, users can set the optimizer
parameter. If the optimizer_control parameter value is
off, the optimizer parameter cannot be changed.
Value Range
Default
Set Classifications
Boolean
on
mastersystem
restart
superuser
optimizer_cte_inlining_bound
When GPORCA is enabled (the default), this parameter controls the amount of inlining
performed for common table expression (CTE) queries (queries that contain a
WHERE clause). The default value, 0, disables inlining.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Decimal >= 0
0
mastersession
reload
optimizer_enable_associativity
When GPORCA is enabled (the default), this parameter controls whether the join
associativity transform is enabled during query optimization. The transform analyzes join
orders. For the default value off, only the GPORCA dynamic programming
algorithm for analyzing join orders is enabled. The join associativity transform largely
duplicates the functionality of the newer dynamic programming algorithm.
If the value is on, GPORCA can use the associativity transform
during query optimization.
The parameter can be set for a database system, an individual database, or a session or
query.
For information about GPORCA, see About GPORCA in the Greenplum Database Administrator Guide.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
optimizer_enable_master_only_queries
When GPORCA is enabled (the default), this parameter allows GPORCA to execute
catalog queries that run only on the Greenplum Database master. For the default value
off, only the legacy query optimizer can execute catalog queries that run
only on the Greenplum Database master.
The parameter can be set for a database system, an individual database, or a session or
query.
Enabling this parameter decreases performance of short running catalog queries. To avoid
this issue, set this parameter only for a session or a query.
For information about GPORCA, see About GPORCA in the Greenplum Database Administrator Guide.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
optimizer_force_multistage_agg
For the default settings, GPORCA is enabled and this parameter is true,
GPORCA chooses a 3 stage aggregate plan for scalar distinct qualified aggregate when such a
plan alternative is generated. When the value is false, GPORCA makes a cost
based choice rather than a heuristic choice.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
optimizer_force_three_stage_scalar_dqa
For the default settings, GPORCA is enabled and this parameter is true,
GPORCA chooses a plan with multistage aggregates when such a plan alternative is generated.
When the value is false, GPORCA makes a cost based choice rather than a
heuristic choice.
The parameter can be set for a database system, an individual database, or a session, or
query.
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
optimizer_join_arity_for_associativity_commutativity
The value is an optimization hint to limit the number of join associativity and join
commutativity transformations explored during query optimization. The limit controls the
alternative plans that GPORCA considers during query optimization. For example, the default
value of 18 is an optimization hint for GPORCA to stop exploring join associativity and join
commutativity transformations when an n-ary join operator has more than 18 children during
optimization.
For a query with a large number of joins, specifying a lower value improves query
performance by limiting the number of alternate query plans that GPORCA evaluates. However,
setting the value too low might cause GPORCA to generate a query plan that performs
sub-optimally.
This parameter has no effect when the optimizer_join_order parameter is
set to query or greedy.
This parameter can be set for a database system or a session.
Value Range
Default
Set Classifications
integer > 0
18
localsystem
reload
optimizer_join_order
When GPORCA is enabled, this parameter sets the optimization level for join ordering during
query optimization by specifying which types of join ordering alternatives to evaluate.
- query - Uses the join order specified in the query.
- greedy - Evaluates the join order specified in the query and
alternatives based on minimum cardinalities of the relations in the joins.
- exhaustive - Applies transformation rules to find and evaluate all join
ordering alternatives.
The default value is exhaustive. Setting this parameter to
query or greedy can generate a suboptimal query plan.
However, if the administrator is confident that a satisfactory plan is generated with the
query or greedy setting, query optimization time can be
improved by setting the parameter to the lower optimization level.
Setting this parameter to query or greedy overrides the
optimizer_join_order_threshold and
optimizer_join_arity_for_associativity_commutativity parameters.
This parameter can be set for an individual database, a session, or a query.
Value Range
Default
Set Classifications
querygreedy
exhaustive
exhaustive
mastersession
reload
optimizer_join_order_threshold
When GPORCA is enabled (the default), this parameter sets the maximum number of join
children for which GPORCA will use the dynamic programming-based join ordering algorithm.
You can set this value for a single query or for an entire session.
This parameter has no effect when the optimizer_join_query parameter is
set to query or greedy.
Value Range
Default
Set Classifications
0 - 12
10
mastersession
reload
optimizer_mdcache_size
Sets the maximum amount of memory on the Greenplum Database master that GPORCA
uses to cache query metadata (optimization data) during query optimization. The memory limit
session based. GPORCA caches query metadata during query optimization with the default
settings: GPORCA is enabled and optimizer_metadata_caching is on.
The default value is 16384 (16MB). This is an optimal value that has been
determined through performance analysis.
You can specify a value in KB, MB, or GB. The default unit is KB. For example, a
value of 16384 is 16384KB. A value of 1GB is the same as 1024MB or 1048576KB. If the value
is 0, the size of the cache is not limited.
This parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Integer >= 0
16384
mastersession
reload
optimizer_metadata_caching
When GPORCA is
enabled (the default), this parameter specifies whether GPORCA caches query metadata
(optimization data) in memory on the Greenplum Database master during query optimization.
The default for this parameter is on, enable caching. The cache is session
based. When a session ends, the cache is released. If the amount of query metadata exceeds
the cache size, then old, unused metadata is evicted from the cache.
If the value is off, GPORCA does not cache metadata during query
optimization.
This parameter can be set for a database system, an individual database, or a session or
query.
The server configuration parameter controls the size of the query metadata cache.
optimizer_minidump
GPORCA generates minidump files to describe the optimization context for a given query. The
information in the file is not in a format that can be easily used for debugging or
troubleshooting. The minidump file is located under the master data directory and uses the
following naming format:
Minidump_date_time.mdp
The minidump file contains this query related information:
- Catalog objects including data types, tables, operators, and statistics required by
GPORCA
- An internal representation (DXL) of the query
- An internal representation (DXL) of the plan produced by GPORCA
- System configuration information passed to GPORCA such as server configuration
parameters, cost and statistics configuration, and number of segments
- A stack trace of errors generated while optimizing the query
Setting this parameter to ALWAYS generates a minidump for all queries. Set
this parameter to ONERROR to minimize total optimization time.
For information about GPORCA, see About GPORCA in the Greenplum Database Administrator Guide.
Value Range
Default
Set Classifications
ONERRORALWAYS
ONERROR
mastersession
reload
optimizer_nestloop_factor
When GPORCA is enabled (the default), this parameter controls the nested loop join cost
factor to apply to during query optimization. The default value, 1,
specifies the default sort cost factor. The value is a ratio of increase or decrease from
the default factor. For example, a value of 2.0 sets the cost factor at
twice the default, and a value of 0.5 sets the factor at half the
default.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Decimal > 0
1
mastersession
reload
optimizer_parallel_union
When GPORCA is enabled (the default), optimizer_parallel_union controls
the amount of parallelization that occurs for queries that contain a UNION
or UNION ALL clause.
When the value is off, the default, GPORCA generates a query plan where
each child of an APPEND(UNION) operator is in the same slice as the APPEND operator. During
query execution, the children are executed in a sequential manner.
When the value is on, GPORCA generates a query plan where a redistribution
motion node is under an APPEND(UNION) operator. During query execution, the children and the
parent APPEND operator are on different slices, allowing the children of the APPEND(UNION)
operator to execute in parallel on segment instances.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
boolean
off
mastersession
reload
optimizer_print_missing_stats
When GPORCA is enabled (the default), this parameter controls the display of table column
information about columns with missing statistics for a query. The default value is
true, display the column information to the client. When the value is
false, the information is not sent to the client.
The information is displayed during query execution, or with the EXPLAIN
or EXPLAIN ANALYZE commands.
The parameter can be set for a database system, an individual database, or a session.
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
optimizer_print_optimization_stats
When GPORCA is enabled (the default), this parameter enables logging of GPORCA query
optimization statistics for various optimization stages for a query. The default value is
off, do not log optimization statistics. To log the
optimization statistics, this parameter must be set to on and
the parameter client_min_messages must be set to
log.
- set optimizer_print_optimization_stats = on;
- set client_min_messages = 'log';
The information is logged during query execution, or with the EXPLAIN or
EXPLAIN ANALYZE commands.
This parameter can be set for a database system, an individual database,or a session or
query.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
optimizer_sort_factor
When GPORCA is enabled (the default), optimizer_sort_factor controls the
cost factor to apply to sorting operations during query optimization. The default value
1 specifies the default sort cost factor. The value is a ratio of
increase or decrease from the default factor. For example, a value of 2.0
sets the cost factor at twice the default, and a value of 0.5 sets the
factor at half the default.
The parameter can be set for a database system, an individual database, or a session or
query.
Value Range
Default
Set Classifications
Decimal > 0
1
mastersession
reload
password_encryption
When a password is specified in CREATE USER or ALTER
USER without writing either ENCRYPTED or
UNENCRYPTED, this option determines whether the password is to be
encrypted.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
password_hash_algorithm
Specifies the cryptographic hash algorithm that is used when storing an encrypted Greenplum
Database user password. The default algorithm is MD5.
For information about setting the password hash algorithm to protect user passwords, see
"Protecting Passwords in Greenplum Database" in the Greenplum Database Administrator
Guide.
Value Range
Default
Set Classifications
MD5SHA-256
MD5
mastersession
reload
superuser
pgstat_track_activity_query_size
Sets the maximum length limit for the query text stored in current_query
column of the system catalog view pg_stat_activity. The minimum length is 1024 characters.
Value Range
Default
Set Classifications
integer
1024
localsystem
restart
pljava_classpath
A colon (:) separated list of jar files or directories containing jar
files needed for PL/Java functions. The full path to the jar file or directory must be
specified, except the path can be omitted for jar files in the
$GPHOME/lib/postgresql/java directory. The jar files must be installed in
the same locations on all Greenplum hosts and readable by the gpadmin
user.
The pljava_classpath parameter is used to assemble the PL/Java classpath
at the beginning of each user session. Jar files added after a session has started are not
available to that session.
If the full path to a jar file is specified in pljava_classpath it is
added to the PL/Java classpath. When a directory is specified, any jar files the directory
contains are added to the PL/Java classpath. The search does not descend into subdirectories
of the specified directories. If the name of a jar file is included in
pljava_classpath with no path, the jar file must be in the
$GPHOME/lib/postgresql/java directory.
Performance can be affected if there are many directories to search or a large number of
jar files.
If pljava_classpath_insecure is false, setting the
pljava_classpath parameter requires superuser privilege. Setting the
classpath in SQL code will fail when the code is executed by a user without superuser
privilege. The pljava_classpath parameter must have been set previously by
a superuser or in the postgresql.conf file. Changing the classpath in the
postgresql.conf file requires a reload (gpstop -u).
Value Range
Default
Set Classifications
string
mastersession
reload
superuser
pljava_classpath_insecure
Controls whether the server configuration parameter pljava_classpath can be set by a user without Greenplum
Database superuser privileges. When true, pljava_classpath
can be set by a regular user. Otherwise, pljava_classpath can be set only by a database superuser.
The default is false.
Enabling this parameter exposes a security risk by giving
non-administrator database users the ability to run unauthorized Java methods.
Value Range
Default
Set Classifications
Boolean
false
mastersession
restart
superuser
pljava_statement_cache_size
Sets the size in KB of the JRE MRU (Most Recently Used) cache for prepared statements.
Value Range
Default
Set Classifications
number of kilobytes
10
mastersystem
restart
superuser
pljava_release_lingering_savepoints
If true, lingering savepoints used in PL/Java functions will be released on function exit.
If false, savepoints will be rolled back.
Value Range
Default
Set Classifications
Boolean
true
mastersystem
restart
superuser
pljava_vmoptions
Defines the startup options for the Java VM. The default value is an empty string ("").
Value Range
Default
Set Classifications
string
mastersystem
reload
superuser
port
The database listener port for a Greenplum instance. The master and each segment has its
own port. Port numbers for the Greenplum system must also be changed in the
gp_segment_configuration catalog. You must shut down your Greenplum
Database system before changing port numbers.
Value Range
Default
Set Classifications
any valid port number
5432
localsystem
restart
random_page_cost
Sets the estimate of the cost of a nonsequentially fetched disk page for the legacy query
optimizer (planner). This is measured as a multiple of the cost of a sequential page fetch.
A higher value makes it more likely a sequential scan will be used, a lower value makes it
more likely an index scan will be used.
Value Range
Default
Set Classifications
floating point
100
mastersession
reload
readable_external_table_timeout
When an SQL query reads from an external table, the parameter value specifies the amount of
time in seconds that Greenplum Database waits before cancelling the query when data stops
being returned from the external table.
The default value of 0, specifies no time out. Greenplum Database does not cancel the
query.
If queries that use gpfdist run a long time and then return the error "intermittent network
connectivity issues", you can specify a value for readable_external_table_timeout. If no
data is returned by gpfdist for the specified length of time, Greenplum Database cancels the
query.
Value Range
Default
Set Classifications
integer >= 0
0
mastersystem
reload
repl_catchup_within_range
For Greenplum Database master mirroring, controls updates to the active master. If the
number of WAL segment files that have not been processed by the walsender
exceeds this value, Greenplum Database updates the active master.
If the number of segment files does not exceed the value, Greenplum Database blocks updates
to the to allow the walsender process the files. If all WAL segments have
been processed, the active master is updated.
Value Range
Default
Set Classifications
0 - 64
1
mastersystem
reload
superuser
replication_timeout
For Greenplum Database master mirroring, sets the maximum time in milliseconds that the
walsender process on the active master waits for a status message from
the walreceiver process on the standby master. If a message is not
received, the walsender logs an error message.
The controls the interval
between walreceiver status messages.
Value Range
Default
Set Classifications
0 - INT_MAX
60000 ms (60 seconds)
mastersystem
reload
superuser
regex_flavor
The 'extended' setting may be useful for exact backwards compatibility with pre-7.4
releases of PostgreSQL.
Value Range
Default
Set Classifications
advancedextended
basic
advanced
mastersession
reload
resource_cleanup_gangs_on_wait
The resource_cleanup_gangs_on_wait server configuration parameter is
enforced only when resource queue-based resource management is active.
If a statement is submitted through a resource queue, clean up any idle query executor
worker processes before taking a lock on the resource queue.
Value Range
Default
Set Classifications
Boolean
on
mastersystem
restart
resource_select_only
The resource_select_only server configuration parameter is enforced
only when resource queue-based resource management is active.
Sets the types of queries managed by resource queues. If set to on, then
SELECT, SELECT INTO, CREATE TABLE AS
SELECT, and DECLARE CURSOR commands are evaluated. If set to off
INSERT, UPDATE, and DELETE commands
will be evaluated as well.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
runaway_detector_activation_percent
The runaway_detector_activation_percent server configuration parameter
is enforced only when resource queue-based resource management is active.
Sets the percentage of Greenplum Database vmem memory that triggers the termination of
queries. If the percentage of vmem memory that is utilized for a Greenplum Database segment
exceeds the specified value, Greenplum Database terminates queries based on memory usage,
starting with the query consuming the largest amount of memory. Queries are terminated until
the percentage of utilized vmem is below the specified percentage.
Specify the maximum vmem value for active Greenplum Database segment instances with the
server configuration parameter .
For example, if vmem memory is set to 10GB, and the value of
runaway_detector_activation_percent is 90 (90%), Greenplum Database
starts terminating queries when the utilized vmem memory exceeds 9 GB.
A value of 0 disables the automatic termination of queries based on percentage of vmem that
is utilized.
Value Range
Default
Set Classifications
percentage (integer)
90
localsystem
restart
search_path
Specifies the order in which schemas are searched when an object is referenced by a simple
name with no schema component. When there are objects of identical names in different
schemas, the one found first in the search path is used. The system catalog schema,
pg_catalog, is always searched, whether it is mentioned in the path or not. When
objects are created without specifying a particular target schema, they will be placed in
the first schema listed in the search path. The current effective value of the search path
can be examined via the SQL function current_schemas(). current_schemas()
shows how the requests appearing in search_path were resolved.
Value Range
Default
Set Classifications
a comma- separated list of schema names
$user,public
mastersession
reload
seq_page_cost
For the legacy query optimizer (planner), sets the estimate of the cost of a disk page
fetch that is part of a series of sequential fetches.
Value Range
Default
Set Classifications
floating point
1
mastersession
reload
server_encoding
Reports the database encoding (character set). It is determined when the Greenplum Database
array is initialized. Ordinarily, clients need only be concerned with the value of
client_encoding.
Value Range
Default
Set Classifications
<system dependent>
UTF8
read only
server_version
Reports the version of PostgreSQL that this release of Greenplum Database is based on.
Value Range
Default
Set Classifications
string
8.3.23
read only
server_version_num
Reports the version of PostgreSQL that this release of Greenplum Database is based on as an
integer.
Value Range
Default
Set Classifications
integer
80323
read only
shared_buffers
Sets the amount of memory a Greenplum Database segment instance uses for shared memory
buffers. This setting must be at least 128KB and at least 16KB times max_connections.
Each Greenplum Database segment instance calculates and attempts to allocate certain amount
of shared memory based on the segment configuration. The value of
shared_buffers is significant portion of this shared memory calculation,
but is not all it. When setting shared_buffers, the values for the
operating system parameters SHMMAX or SHMALL might also
need to be adjusted.
The operating system parameter SHMMAX specifies maximum size of a single
shared memory allocation. The value of SHMMAX must be greater than this
value: shared_buffers + other_seg_shmemThe
value of other_seg_shmem is the portion the Greenplum Database shared
memory calculation that is not accounted for by the shared_buffers value.
The other_seg_shmem value will vary based on the segment configuration.
With the default Greenplum Database parameter values, the value for
other_seg_shmem is approximately 111MB for Greenplum Database segments
and approximately 79MB for the Greenplum Database master.
The operating system parameter SHMALL specifies the maximum amount of
shared memory on the host. The value of SHMALL must be greater than this
value: (num_instances_per_host * ( shared_buffers + other_seg_shmem )) + other_app_shared_mem The
value of other_app_shared_mem is the amount of shared memory that is used
by other applications and processes on the host.
When shared memory allocation errors occur, possible ways to resolve shared memory
allocation issues are to increase SHMMAX or SHMALL, or
decrease shared_buffers or max_connections.
See the Greenplum Database Installation Guide for information about the
Greenplum Database values for the parameters SHMMAX and
SHMALL.
Value Range
Default
Set Classifications
integer > 16K * max_connections
125MB
localsystem
restart
shared_preload_libraries
A comma-separated list of shared libraries that are to be preloaded at server start.
PostgreSQL procedural language libraries can be preloaded in this way, typically by using
the syntax '$libdir/plXXX' where XXX
is pgsql, perl, tcl, or python. By preloading a shared library, the library startup time is
avoided when the library is first used. If a specified library is not found, the server will
fail to start.
Value Range
Default
Set Classifications
localsystem
restart
ssl
Enables SSL connections.
Value Range
Default
Set Classifications
Boolean
off
mastersystem
restart
ssl_ciphers
Specifies a list of SSL ciphers that are allowed to be used on secure connections. See the
openssl manual page for a list of supported ciphers.
Value Range
Default
Set Classifications
string
ALL
mastersystem
restart
standard_conforming_strings
Determines whether ordinary string literals ('...') treat backslashes literally, as
specified in the SQL standard. The default value is on. Turn this parameter off to treat
backslashes in string literals as escape characters instead of literal backslashes.
Applications may check this parameter to determine how string literals are processed. The
presence of this parameter can also be taken as an indication that the escape string syntax
(E'...') is supported.
statement_mem
The statement_mem server configuration parameter is enforced only when
resource queue-based resource management is active.
Allocates segment host memory per query. The amount of memory allocated with this parameter
cannot exceed or the memory
limit on the resource queue through which the query was submitted. When =auto,
statement_mem and resource queue memory limits control query memory
usage.
If additional memory is required for a query, temporary spill files on disk are used.
This calculation can be used to estimate a reasonable value for a wide variety of
situations.
( gp_vmem_protect_limitGB * .9 ) / max_expected_concurrent_queries
With the gp_vmem_protect_limit set to 8192MB (8GB) and assuming a
maximum of 40 concurrent queries with a 10% buffer
(8GB * .9) / 40 = .18GB = 184MB
When changing both max_statement_mem and statement_mem,
max_statement_mem must be changed first, or listed first in the
postgresql.conf file.
Value Range
Default
Set Classifications
number of kilobytes
128MB
mastersession
reload
statement_timeout
Abort any statement that takes over the specified number of milliseconds. 0 turns off the
limitation.
Value Range
Default
Set Classifications
number of milliseconds
0
mastersession
reload
stats_queue_level
The stats_queue_level server configuration parameter is enforced only
when resource queue-based resource management is active.
Collects resource queue statistics on database activity.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
superuser_reserved_connections
Determines the number of connection slots that are reserved for Greenplum Database
superusers.
Value Range
Default
Set Classifications
integer < max_connections
3
localsystem
restart
tcp_keepalives_count
How many keepalives may be lost before the connection is considered dead. A value of 0 uses
the system default. If TCP_KEEPCNT is not supported, this parameter must be 0.
Use this parameter for all connections that are not between a primary and mirror segment.
Use gp_filerep_tcp_keepalives_count for settings that are between a primary and mirror
segment.
Value Range
Default
Set Classifications
number of lost keepalives
0
localsystem
restart
tcp_keepalives_idle
Number of seconds between sending keepalives on an otherwise idle connection. A value of 0
uses the system default. If TCP_KEEPIDLE is not supported, this parameter must be 0.
Use this parameter for all connections that are not between a primary and mirror segment.
Use gp_filerep_tcp_keepalives_idle for settings that are between a primary and mirror
segment.
Value Range
Default
Set Classifications
number of seconds
0
localsystem
restart
tcp_keepalives_interval
How many seconds to wait for a response to a keepalive before retransmitting. A value of 0
uses the system default. If TCP_KEEPINTVL is not supported, this parameter must be 0.
Use this parameter for all connections that are not between a primary and mirror segment.
Use gp_filerep_tcp_keepalives_interval for settings that are between a primary and mirror
segment.
Value Range
Default
Set Classifications
number of seconds
0
localsystem
restart
temp_buffers
Sets the maximum number of temporary buffers used by each database session. These are
session-local buffers used only for access to temporary tables. The setting can be changed
within individual sessions, but only up until the first use of temporary tables within a
session. The cost of setting a large value in sessions that do not actually need a lot of
temporary buffers is only a buffer descriptor, or about 64 bytes, per increment. However if
a buffer is actually used, an additional 8192 bytes will be consumed.
Value Range
Default
Set Classifications
integer
1024
mastersession
reload
TimeZone
Sets the time zone for displaying and interpreting time stamps. The default is to use
whatever the system environment specifies as the time zone. See Date/Time Keywords in the PostgreSQL documentation.
Value Range
Default
Set Classifications
time zone abbreviation
localrestart
timezone_abbreviations
Sets the collection of time zone abbreviations that will be accepted by the server for date
time input. The default is Default, which is a collection that works in
most of the world. Australia and India, and other
collections can be defined for a particular installation. Possible values are names of
configuration files stored in $GPHOME/share/postgresql/timezonesets/.
To configure Greenplum Database to use a custom collection of timezones, copy the file that
contains the timezone definitions to the directory
$GPHOME/share/postgresql/timezonesets/ on the Greenplum Database master
and segment hosts. Then set value of the server configuration parameter
timezone_abbreviations to the file. For example, to use a file
custom that contains the default timezones and the WIB (Waktu Indonesia
Barat) timezone.
- Copy the file Default from the directory
$GPHOME/share/postgresql/timezonesets/ the file
custom. Add the WIB timezone information from the file
Asia.txt to the custom.
- Copy the file custom to the directory
$GPHOME/share/postgresql/timezonesets/ on the Greenplum Database master
and segment hosts.
- Set value of the server configuration parameter timezone_abbreviations
to custom.
- Reload the server configuration file (gpstop -u).
Value Range
Default
Set Classifications
string
Default
mastersession
reload
track_activities
Enables the collection of statistics on the currently executing command of each session,
along with the time at which that command began execution. When enabled, this information is
not visible to all users, only to superusers and the user owning the session. This data can
be accessed via the pg_stat_activity system view.
Value Range
Default
Set Classifications
Boolean
on
mastersession
reload
track_counts
Enables the collection of row and block level statistics on database activity. If enabled,
the data that is produced can be accessed via the pg_stat and pg_statio family
of system views.
Value Range
Default
Set Classifications
Boolean
off
localsystem
restart
transaction_isolation
Sets the current transaction's isolation level.
Value Range
Default
Set Classifications
read committedserializable
read committed
mastersession
reload
transaction_read_only
Sets the current transaction's read-only status.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
transform_null_equals
When on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL,
that is, they return true if expr evaluates to the null value, and false otherwise. The
correct SQL-spec-compliant behavior of expr = NULL is to always return null (unknown).
unix_socket_directory
Specifies the directory of the UNIX-domain socket on which the server is to listen for
connections from client applications.
Value Range
Default
Set Classifications
directory path
unset
localsystem
restart
unix_socket_group
Sets the owning group of the UNIX-domain socket. By default this is an empty string, which
uses the default group for the current user.
Value Range
Default
Set Classifications
UNIX group name
unset
localsystem
restart
unix_socket_permissions
Sets the access permissions of the UNIX-domain socket. UNIX-domain sockets use the usual
UNIX file system permission set. Note that for a UNIX-domain socket, only write permission
matters.
Value Range
Default
Set Classifications
numeric UNIX file permission mode (as accepted by the
chmod or umask commands)
511
localsystem
restart
update_process_title
Enables updating of the process title every time a new SQL command is received by the
server. The process title is typically viewed by the ps command.
Value Range
Default
Set Classifications
Boolean
on
localsystem
restart
vacuum_cost_delay
The length of time that the process will sleep when the cost limit has been exceeded. 0
disables the cost-based vacuum delay feature.
Value Range
Default
Set Classifications
milliseconds < 0 (in multiples of 10)
0
localsystem
restart
vacuum_cost_limit
The accumulated cost that will cause the vacuuming process to sleep.
Value Range
Default
Set Classifications
integer > 0
200
localsystem
restart
vacuum_cost_page_dirty
The estimated cost charged when vacuum modifies a block that was previously clean. It
represents the extra I/O required to flush the dirty block out to disk again.
Value Range
Default
Set Classifications
integer > 0
20
localsystem
restart
vacuum_cost_page_hit
The estimated cost for vacuuming a buffer found in the shared buffer cache. It represents
the cost to lock the buffer pool, lookup the shared hash table and scan the content of the
page.
Value Range
Default
Set Classifications
integer > 0
1
localsystem
restart
vacuum_cost_page_miss
The estimated cost for vacuuming a buffer that has to be read from disk. This represents
the effort to lock the buffer pool, lookup the shared hash table, read the desired block in
from the disk and scan its content.
Value Range
Default
Set Classifications
integer > 0
10
localsystem
restart
vacuum_freeze_min_age
Specifies the cutoff age (in transactions) that VACUUM should use to
decide whether to replace transaction IDs with FrozenXID while scanning a table.
For information about VACUUM and transaction ID management, see "Managing
Data" in the Greenplum Database Administrator Guide and the PostgreSQL documentation.
Value Range
Default
Set Classifications
integer 0-100000000000
100000000
localsystem
restart
validate_previous_free_tid
Enables a test that validates the free tuple ID (TID) list. The list is maintained and used
by Greenplum Database. Greenplum Database determines the validity of the free TID list by
ensuring the previous free TID of the current free tuple is a valid free tuple. The default
value is true, enable the test.
If Greenplum Database detects a corruption in the free TID list, the free TID list is
rebuilt, a warning is logged, and a warning is returned by queries for which the check
failed. Greenplum Database attempts to execute the queries.
If a warning is returned, please contact Pivotal Support.
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
verify_gpfdists_cert
When a Greenplum Database external table is defined with the
gpfdists protocol to use SSL security, this parameter controls whether
SSL certificate authentication is enabled. The default is true, SSL
authentication is enabled when Greenplum Database communicates with the
gpfdist utility to either read data from or write data to an external
data source.
The value false disables SSL certificate authentication. These SSL
exceptions are ignored:
- The self-signed SSL certificate that is used by gpfdist is not
trusted by Greenplum Database.
- The host name contained in the SSL certificate does not match the host name that is
running gpfdist.
You can set the value to false to disable authentication when testing the
communication between the Greenplum Database external table and the gpfdist
utility that is serving the external data.Disabling SSL certificate
authentication exposes a security risk by not validating the gpfdists SSL
certificate.
For information about the gpfdists protocol, see gpfdists:// Protocol. For
information about running the gpfdist utility, see .
Value Range
Default
Set Classifications
Boolean
true
mastersession
reload
vmem_process_interrupt
Enables checking for interrupts before reserving vmem memory for a query during Greenplum
Database query execution. Before reserving further vmem for a query, check if the current
session for the query has a pending query cancellation or other pending interrupts. This
ensures more responsive interrupt processing, including query cancellation requests. The
default is off.
Value Range
Default
Set Classifications
Boolean
off
mastersession
reload
wal_receiver_status_interval
For Greenplum Database master mirroring, sets the interval in seconds between
walreceiver process status messages that are sent to the active master.
Under heavy loads, the time might be longer.
The value of controls the time that the
walsender process waits for a walreceiver message.
Value Range
Default
Set Classifications
integer 0- INT_MAX/1000
10 sec
mastersystem
reload
superuser
writable_external_table_bufsize
Size of the buffer (in KB) that Greenplum Database uses for network communication, such as
the gpfdist utility and external web tables (that use http). Greenplum
Database stores data in the buffer before writing the data out. For information about
gpfdist, see the Greenplum Database Utility Guide.
Value Range
Default
Set Classifications
integer 32 - 131072 (32KB - 128MB)
64
localsession
reload
xid_stop_limit
The number of transaction IDs prior to the ID where transaction ID wraparound occurs. When
this limit is reached, Greenplum Database stops creating new transactions to avoid data loss
due to transaction ID wraparound.
Value Range
Default
Set Classifications
integer 10000000 - 2000000000
1000000000
localsystem
restart
xid_warn_limit
The number of transaction IDs prior to the limit specified by . When Greenplum Database reaches this limit, it issues a warning to
perform a VACUUM operation to avoid data loss due to transaction ID wraparound.
Value Range
Default
Set Classifications
integer 10000000 - 2000000000
500000000
localsystem
restart
xmlbinary
Specifies how binary values are encoded in XML data. For example, when
bytea values are converted to XML. The binary data can be converted to
either base64 encoding or hexadecimal encoding. The default is base64.
The parameter can be set for a database system, an individual database, or a session.
Value Range
Default
Set Classifications
base64hex
base64
mastersession
reload
xmloption
Specifies whether XML data is to be considered as an XML document
(document) or XML content fragment (content) for
operations that perform implicit parsing and serialization. The default is
content.
This parameter affects the validation performed by xml_is_well_formed().
If the value is document, the function checks for a well-formed XML
document. If the value is content, the function checks for a well-formed
XML content fragment.
An XML document that contains a document type declaration (DTD) is not considered a
valid XML content fragment. If xmloption set to content,
XML that contains a DTD is not considered valid XML.To cast a character string that
contains a DTD to the xml data type, use the xmlparse
function with the document keyword, or change the
xmloption value to document.
The parameter can be set for a database system, an individual database, or a session. The
SQL command to set this option for a session is also available in Greenplum Database.
SET XML OPTION { DOCUMENT | CONTENT }
Value Range
Default
Set Classifications
documentcontent
content
mastersession
reload