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.
Sets the application name for a client session. For example, if connecting via
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.
Maximum time to complete client authentication. This prevents hung clients from occupying a connection indefinitely.
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 \.
Reports the size of a disk block.
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.
When set to off, disables validation of the function body string during
Sets the client-side encoding (character set). The default is to use the same as the
database encoding. See
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.
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.
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.
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.
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.
Specifies one or several class names to be used for custom variables. A custom variable is a variable not normally known to the server but used by some add-on modules. Such variables must have names consisting of a class name, a dot, and a variable name.
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.
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.
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.
Turns on various assertion checks.
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.
For each executed query, prints the resulting parse tree. client_min_messages or log_min_messages must be DEBUG1 or lower.
For each executed query, prints the Greenplum parallel query execution plan. client_min_messages or log_min_messages must be DEBUG1 or lower.
For each executed query, prints the preliminary query plan. client_min_messages or log_min_messages must be DEBUG1 or lower.
For each executed query, prints the query rewriter output. client_min_messages or log_min_messages must be DEBUG1 or lower.
For each executed query, prints the Greenplum query slice plan. client_min_messages or log_min_messages must be DEBUG1 or lower.
Sets the default statistics target for table columns that have not had a column-specific
target set via
The default tablespace in which to create objects (tables and indexes) when a
Controls the default isolation level of each new transaction.
Controls the default read-only status of each new transaction. A read-only SQL transaction cannot alter non-temporary tables.
If a dynamically loadable module needs to be opened and the file name specified in the
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.
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.
Enables or disables the use of group aggregation plan types by the legacy query optimizer (planner).
Enables or disables the use of hash aggregation plan types by the legacy query optimizer (planner).
Enables or disables the use of hash-join plan types by the legacy query optimizer (planner).
Enables or disables the use of index-scan plan types by the legacy query optimizer (planner).
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.
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.
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.
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.
Enables or disables the use of tuple identifier (TID) scan plan types by the legacy query optimizer (planner).
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.
Determines whether EXPLAIN VERBOSE uses the indented or non-indented format for displaying detailed query-tree dumps.
Adjusts the number of digits displayed for floating-point values, including float4, float8, and geometric data types. The parameter value is added to the standard number of digits. The value can be set as high as 2, to include partially-significant digits; this is especially useful for dumping float data that needs to be restored exactly. Or it can be set negative to suppress unwanted digits.
The default setting
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.
Enables the selectivity of NULL tests over outer joins.
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
Enables compacting segment files during
Specifies the threshold ratio (as a percentage) of hidden rows to total rows that triggers
compaction of the segment file when
Specifies the mode for triggering automatic statistics collection with
The
Default is
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.
Specifies the mode for triggering automatic statistics collection with
The
Specifies the threshold for automatic statistics collection when
Direct I/O allows Greenplum Database to bypass the buffering of memory within the file system cache for backup. When Direct I/O is used for a file, data is transferred directly from the disk to the application buffer, without the use of the file buffer cache.
Direct I/O is supported only on Red Hat Enterprise Linux, CentOS, and SUSE.
Sets the chunk size in MB when Direct I/O is enabled with
The default value is the optimal setting. Decreasing it will increase the backup time and increasing it will result in little change to backup time.
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.
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.
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:
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.
The local content id if a segment.
Controls table creation when a Greenplum Database table is created with a
For
If the value of the parameter is set to
For a
For information about the legacy query optimizer and GPORCA, see "Querying Data" in the Greenplum Database Administrator Guide.
The local content dbid if a segment.
Number of seconds for a Greenplum process to linger after a fatal internal error.
Set the default values for the following table storage options when a table is created with
the
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
Not all combinations of storage option values are valid. If the specified storage options
are not valid, an error is returned. See the
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 parameter value is not cumulative. For example, if the parameter specifies the
This example
To create an append-optimized table in the
This example
This example
Enables plans that can dynamically eliminate the scanning of partitions.
The email address used to send email alerts, in the format of:
or
The password/passphrase used to authenticate with the 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:
The user id used to authenticate with the SMTP server.
A semi-colon (
or
If this parameter is not set, then email alerts are disabled.
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.
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.
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.
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.
Controls availability of the
If the value is
Allows use of disabled plan types when a query would not be feasible without them.
When set to
Enables or disables the data collection agents of Greenplum Command Center.
Enables or disables gathering data to a single node to compute distinct-qualified
aggregates on grouping extension queries. When this parameter and
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.
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
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.
Enables two-phase duplicate removal for
If on, enables non-parallel (sequential) query plans for queries containing window function calls. If off, evaluates compatible window functions in parallel and rejoins the results. This is an experimental parameter.
Enables the legacy query optimizer (planner) to use the estimated size of a table
(
Enable duplicates to be removed while sorting.
Enable
Enables or disables the use of external tables that execute OS commands or scripts on the
segment hosts (
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
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
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
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.
Specifies the polling interval for the fault detection process (
Specifies the number of times the fault detection process (
Specifies the number of
Specifies the allowed timeout for the fault detection process (
Controls the amount of detail the fault detection process (
Sets the frequency that the Greenplum Database server processes send query execution updates to the data collection agent processes used by Command Center. Query operations (iterators) 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.
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.
When using Pivotal HD (not supported), specify the installation directory for Hadoop. For
example, the default installation directory is
When using Greenplum HD 1.2 or earlier (not supported), specify the same value as the HADOOP_HOME environment variable.
The installed version of Greenplum Hadoop target.
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.
Changes the strategy to compute and process MEDIAN, and PERCENTILE_DISC.
For the parameter value n, Greenplum Database stops processing input rows when you
import data with the
Setting the value to 0 disables this limit.
The
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.
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).
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.
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.
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.
Specifies the format of the server log files. If using gp_toolkit administrative schema, the log files must be in CSV format.
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.
The maximum number of databases allowed in a Greenplum Database system.
The maximum number of filespaces allowed in a Greenplum Database system.
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.
Sets the tuple-serialization chunk size for the interconnect.
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
The maximum number of tablespaces allowed in a Greenplum Database system.
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.
The number of primary segments in the Greenplum Database system.
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.
If enabled, will attempt to dump core if a fatal server error occurs.
Enables Greenplum memory management features. The distribution algorithm
When set to
When set to
Enables or disables query prioritization. When this parameter is disabled, existing priority settings are not evaluated at query run time.
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.
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.
The role of this server process " set to dispatch for the master and execute for a segment.
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.
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.
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.
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.
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.
A system assigned ID number for a client session. Starts counting from 1 when the master instance is first started.
If enabled, when a Greenplum server process (postmaster) is started it will bind to a CPU.
Set to on to disable writes to the database. Any in progress transactions must finish before read-only mode takes affect.
Set to the community name you specified for your environment.
The
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.
Enables the use of statistics from child tables when planning queries on the parent table by the legacy query optimizer (planner).
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.
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.
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
To prevent over-allocation of memory, these calculations can estimate a safe
First calculate the value
where
Next, calculate the
This is the calculation for
For scenarios where a large number of workfiles are generated, this is the calculation for
For information about monitoring and managing workfile usage, see the Greenplum Database Administrator Guide.
Based on the
For information about the kernel parameter, see the Greenplum Database Installation Guide.
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.
Adds a checksum value to each block of a work file (or spill file) used by
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, it must be in your $PATH on all segments.
If your Greenplum database installation uses serial ATA (SATA) disk drives, setting the
value of this parameter to
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
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.
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.
Sets the port on which all data collection agents (for Command Center) communicate with the master.
Reports whether PostgreSQL was built with support for 64-bit-integer dates and times.
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
The value postgres_verbose produces output matching Greenplum releases prior to 3.3
when the
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
The legacy query optimizer (planner) will rewrite explicit inner
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.
Sets whether Kerberos user names should be treated case-insensitively. The default is case sensitive (off).
Sets the location of the Kerberos server key file.
Sets the Kerberos service name.
Reports the locale in which sorting of textual data is done. The value is determined when the Greenplum Database array is initialized.
Reports the locale that determines character classifications. The value is determined when the Greenplum Database array is initialized.
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.
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.
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.
This parameter currently does nothing, but may in the future.
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.
Comma separated list of shared library files to preload at the start of a client session.
Logs information about automatic
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.
This outputs a line in the server log at termination of a client session, and includes the duration of the session.
When set to "on," this parameter adds a log message with verbose information about the dispatch of the statement.
Causes the duration of every completed statement which satisfies log_statement to be logged.
Controls the amount of detail written in the server log for each message that is logged.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
For each query, write total performance statistics of the query parser, planner, and executor to the server log. This is a crude profiling instrument.
Sets the time zone used for timestamps written in the log. Unlike
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
Sets the maximum number of append-optimized relations that can be written to or loaded concurrently. Append-optimized table partitions and subpartitions are considered as unique tables against this limit. Increasing the limit will allocate more shared memory at server start.
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,
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
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.
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.
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.
Reports the maximum number of function arguments.
Reports the maximum identifier length.
Reports the maximum number of index keys.
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.
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
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 workload management.
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.
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.
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
Enables or disables GPORCA when running SQL queries. The default is
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
For information about the legacy query optimizer and GPORCA, see "Querying Data" in the Greenplum Database Administrator Guide.
For a partitioned table, collects statistics for the root partition when the
For information about the legacy query optimizer and GPORCA, see "Querying Data" in the Greenplum Database Administrator Guide.
When GPORCA is enabled (the default) and is processing a query that contains a predicate
with a constant array, the
The default value is 25.
For example, when GPORCA is executing a query that contains an
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.
Controls whether the server configuration parameter
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
The parameter can be set for a database system, an individual database, or a session or query.
For information about GPORCA, see the Greenplum Database Administrator Guide.
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.
GPORCA generates minidump files to describe the optimization context for a given query. The minidump files are used by Pivotal support to analyze Greenplum Database issues. The information in the file is not in a format that can be easily used by customers for debugging or troubleshooting. The minidump file is located under the master data directory and uses the following naming format:
The minidump file contains this query related information:
Setting this parameter to
For information about GPORCA, see "Querying Data" in the Greenplum Database Administrator Guide.
When GPORCA is enabled (the default),
When the value is
When the value is
The parameter can be set for a database system, an individual database, or a session or query.
When GPORCA is enabled (the default),
The parameter can be set for a database system, an individual database, or a session or query.
When a password is specified in
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.
Sets the maximum length limit for the query text stored in
A colon (
The
If the full path to a jar file is specified in
If
Controls whether the server configuration parameter
Sets the size in KB of the JRE MRU (Most Recently Used) cache for prepared statements.
If true, lingering savepoints used in PL/Java functions will be released on function exit. If false, savepoints will be rolled back.
Defines the startup options for the Java VM. The default value is an empty string ("").
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
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.
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.
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
If the number of segment files does not exceed the value, Greenplum Database blocks updates
to the to allow the
For Greenplum Database master mirroring, sets the maximum time in milliseconds that the
The
The 'extended' setting may be useful for exact backwards compatibility with pre-7.4 releases of PostgreSQL.
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.
Sets the types of queries managed by resource queues. If set to on, then
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
A value of 0 disables the automatic termination of queries based on percentage of vmem that is utilized.
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.
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.
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.
Reports the version of PostgreSQL that this release of Greenplum Database is based on.
Reports the version of PostgreSQL that this release of Greenplum Database is based on as an integer.
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
Each Greenplum Database segment instance calculates and attempts to allocate certain amount
of shared memory based on the segment configuration. The value of
The operating system parameter
With the default Greenplum Database parameter values, the value for
The operating system parameter
When shared memory allocation errors occur, possible ways to resolve shared memory
allocation issues are to increase
See the Greenplum Database Installation Guide for information about the
Greenplum Database values for the parameters
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 '
Enables SSL connections.
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.
Reports whether ordinary string literals ('...') treat backslashes literally, as specified in the SQL standard. The value is currently always off, indicating that backslashes are treated as escapes. It is planned that this will change to on in a future release when string literal syntax changes to meet the standard. Applications may check this parameter to determine how string literals will be processed. The presence of this parameter can also be taken as an indication that the escape string syntax (E'...') is supported.
Allocates segment host memory per query. The amount of memory allocated with this parameter
cannot exceed
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.
With the
Abort any statement that takes over the specified number of milliseconds. 0 turns off the limitation.
Collects resource queue statistics on database activity.
Determines the number of connection slots that are reserved for Greenplum Database superusers.
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.
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.
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.
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.
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
Sets the collection of time zone abbreviations that will be accepted by the server for date
time input. The default is
To configure Greenplum Database to use a custom collection of timezones, copy the file that
contains the timezone definitions to the directory
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.
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.
Sets the current transaction's isolation level.
Sets the current transaction's read-only status.
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).
Specifies the directory of the UNIX-domain socket on which the server is to listen for connections from client applications.
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.
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.
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
The length of time that the process will sleep when the cost limit has been exceeded. 0 disables the cost-based vacuum delay feature.
The accumulated cost that will cause the vacuuming process to sleep.
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.
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.
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.
Specifies the cutoff age (in transactions) that
For information about
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
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 Global Support Services.
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
For Greenplum Database master mirroring, sets the interval in seconds between
The value of
Size of the buffer (in KB) that Greenplum Database uses for network communication, such as
the
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.
The number of transaction IDs prior to the limit specified by
Specifies how binary values are encoded in XML data. For example, when
The parameter can be set for a database system, an individual database, or a session.
Specifies whether XML data is to be considered as an XML document
(
This parameter affects the validation performed by
To cast a character string that
contains a DTD to the
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.