• Data Warehouse Service

dws
  1. Help Center
  2. Data Warehouse Service
  3. Developer Guide
  4. Setting Configuration Parameters
  5. Appendix B: GUC Parameter Description
  6. Developer Options

Developer Options

enable_fast_query_shipping

Parameter description: Specifies whether to use the distributed framework for a query planner.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that execution plans are generated on CNs and DNs separately.
  • off indicates that the distributed framework is used. Execution plans are generated on CNs and then sent to DNs for execution.

Default value: on

enable_remotejoin

Parameter description: Specifies whether JOIN operation plans can be delivered to DNs for execution.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that JOIN operation plans can be delivered to DNs for execution.
  • off indicates that JOIN operation plans cannot be delivered to DNs for execution.

Default value: on

enable_remotegroup

Parameter description: Specifies whether the execution plans of GROUP BY and AGGREGATE can be delivered to DNs for execution.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the execution plans of GROUP BY and AGGREGATE can be delivered to DNs for execution.
  • off indicates that the execution plans of GROUP BY and AGGREGATE cannot be delivered to DNs for execution.

Default value: on

enable_remotelimit

Parameter description: Specifies whether the execution plan of the LIMIT clause can be delivered to DNs for execution.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the execution plan of the LIMIT clause can be delivered to DNs for execution.
  • off indicates that the execution plan of the LIMIT clause cannot be delivered to DNs for execution.

Default value: on

enable_remotesort

Parameter description: Specifies whether the execution plan of the ORDER BY clause can be delivered to DNs for execution.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the execution plan of the ORDER BY clause can be delivered to DNs for execution.
  • off indicates that the execution plan of the ORDER BY clause cannot be delivered to DNs for execution.

Default value: on

debug_assertions

Parameter description: Specifies whether to enable various assertion checks. This parameter assists in debugging. If you are experiencing strange problems or crashes, set this parameter to on to identify programming defects. To use this parameter, the macro USE_ASSERT_CHECKING must be defined (through the configure option --enable-cassert) during the DWS compilation.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that various assertion checks are enabled.
  • off indicates that various assertion checks are disabled.
NOTE:
  • If you compile DWS with the assertion check enabled, this parameter is set to on by default.
  • Do not set this parameter using method 3 in Table 2.

Default value: off

distribute_test_param

Parameter description: Specifies whether the embedded test stubs for testing the distribution framework take effect. In most cases, developers embed some test stubs in the code during fault injection tests. Each test stub is identified by a unique name. The value of this parameter is a triplet that includes three values: thread level, test stub name, and error level of the injected fault. The three values are separated by commas (,).

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string indicating the name of any embedded test stub.

Default value: -1, default, default

enable_crc_check

Parameter description: Specifies whether to allow a column-store table to perform a cyclic redundancy check (CRC) on the data of each CU.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that a column-store table can perform a CRC on the data of each CU.
  • off indicates that a column-store table cannot perform a CRC on the data of each CU.

Default value: off

enable_colstore

Parameter description: Specifies whether to create a table as a column-store table by default when no storage method is specified. This parameter is used for tests. Users are not allowed to set it to on.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Default value: off

enable_force_vector_engine

Parameter description: Specifies whether to forcibly generate vectorized execution plans for a vectorized execution operator if the operator's child node is a non-vectorized operator. When this parameter is set to on, vectorized execution plans are forcibly generated.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Default value: off

enable_csqual_pushdown

Parameter description: Specifies whether to deliver filter criteria for a rough check during query.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that a rough check is performed with filter criteria delivered during query.
  • off indicates that a rough check is performed without filter criteria delivered during query.

Default value: on

explain_dna_file

Parameter description: Sets explain_perf_mode to run to export object files in CSV format.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

The value of this parameter must be an absolute path plus a file name with the extension .csv.

Value range: a string

Default value: empty

explain_perf_mode

Parameter description: Specifies the display format of the explain command.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: normal, pretty, summary, and run

  • normal indicates that the original default printing format of PG-XC is used.
  • pretty indicates that the optimized display mode of DWS is used. A new format contains a plan node ID, directly and effectively analyzing performance.
  • summary indicates that the analysis result on this information is printed in addition to the printed information in the format specified by pretty.
  • run indicates that in addition to the printed information specified by summary, the database exports the information as a CSV file.

Default value: pretty

trace_notify

Parameter description: Specifies whether to generate a large amount of debugging output for the LISTEN and NOTIFY commands. client_min_messages or log_min_messages must be DEBUG1 or lower so that such output can be recorded in the logs on the client or server separately.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the function is enabled.
  • off indicates that the function is disabled.

Default value: off

trace_sort

Parameter description: Specifies whether to print information about resource usage during sorting operations. This parameter is available only when the macro TRACE_SORT is defined during the DWS compilation. However, TRACE_SORT is currently defined by default.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the function is enabled.
  • off indicates that the function is disabled.

Default value: off

zero_damaged_pages

Parameter description: Controls whether to detect a damaged page header that causes DWS to report an error, aborting the current transaction.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

Setting this parameter to on causes the system to report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, including all the rows on the damaged page. However, it allows you to bypass the error and retrieve rows from any undamaged pages that may be present in the table. Therefore, it is useful for restoring data if corruption has occurred due to a hardware or software error. In most cases, you are advised not to set this parameter to on unless you do not want to restore data from the damaged pages of a table.

Default value: off

replication_test

Parameter description: Specifies whether to enable internal testing on the data replication function.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that internal testing on the data replication function is enabled.
  • off indicates that internal testing on the data replication function is disabled.

Default value: off

cost_param

Parameter description: Controls use of different estimation methods in specific customer scenarios, allowing estimated values approximating to onsite values. This parameter can control various methods simultaneously by performing AND (&) on the bit of each method. A method is selected if the result value is not 0.

When cost_param & 1 is set to a value other than 0, an improved mechanism is used for estimating the selection rate of non-equi-joins. This method is more accurate for estimating the selection rate of joins between two identical tables.

When cost_param & 2 is set to a value other than 0, the selection rate is estimated based on multiple filter criteria. The lowest selection rate among all filter criteria, but not the product of the selection rates for two tables under a specific filter criterion, is used as the total selection rate. This method is more accurate when a close correlation exists between the columns to be filtered.

When cost_param & 4 is not 0, the selected debugging model is not recommended when the stream node is evaluated.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 1 to INT_MAX

Default value: 0

convert_string_to_digit

Parameter description: Specifies the implicit conversion priority, which determines whether to preferentially convert strings into numbers.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that strings are preferentially converted into numbers.
  • off indicates that strings are not preferentially converted into numbers.

Default value: on

nls_timestamp_format

Parameter description: Specifies the default timestamp format.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string

Default value: DD-Mon-YYYY HH:MI:SS.FF AM

enable_partitionwise

Parameter description: Specifies whether to select an intelligent algorithm for joining partition tables.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that an intelligent algorithm is selected.
  • off indicates that an intelligent algorithm is not selected.

Default value: off

max_user_defined_exception

Parameter description: Specifies the maximum number of exceptions.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer

Default value: 1000 that cannot be changed

datanode_strong_sync

Parameter description: This parameter no longer takes effect.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that forcible synchronization between stream nodes is enabled.
  • off indicates that forcible synchronization between stream nodes is disabled.

Default value: off

enable_global_stats

Parameter description: Specifies the current statistics mode. This parameter is used to compare global statistics generation plans and the statistics generation plans for a single DN. This parameter is used for tests. Users are not allowed to set it to on.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on/true indicates the global statistics mode.
  • off/false indicates the single-DN statistics mode.

Default value: on, which indicates the global statistics mode.

enable_fast_numeric

Parameter description: Specifies whether to enable optimization for numeric data calculation. Calculation of numeric data is time-consuming. Numeric data is converted into int64- or int128-type data to improve numeric data calculation performance.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on/true indicates that optimization for numeric data calculation is enabled.
  • off/false indicates that optimization for numeric data calculation is disabled.

Default value: on, which indicates that optimization for numeric data calculation is enabled.

rewrite_rule

Parameter description: Specifies the rewriting rule for enabled optional queries. Some query rewrite rules are optional. Enabling them cannot always improve the query efficiency. In a specific customer scenario, you can set the query rewrite rules through the GUC parameter so that the query efficiency is optimal.

This parameter can control the combination of query rewriting rules, for example, there are over one override rules: rule1, rule2, rule3, and rule4. To set the parameters, you can perform the following operations:

set rewrite_rule=rule1;          -- Enable query rewriting rule rule1
set rewrite_rule=rule2, rule3;     -- Enable the query rewriting rules rule2 and rule3
set rewrite_rule=none;         -- Disable all optional query rewriting rules

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string

  • none: Does not use any optional query rewriting rules
  • Lazyagg: Uses the Lazy Agg query rewriting rules for eliminating aggregation operations in subqueries
  • magicset: Uses the Magic Set query rewriting rules delivered from the main query to the subquery.

Default value: magicset

enable_compress_spill

Parameter description: Specifies whether to enable the compression function of writing data to disk.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on/true indicates that optimization for writing data to disk is enabled.
  • off/false indicates that optimization for writing data to disk is disabled.

Default value: on, which indicates that optimization for writing data to disk is enabled.

analysis_options

Parameter description: Specifies whether to enable function options in the corresponding options to use the corresponding location functions, including data verification and performance statistics. For details, see the options in the value range.

This parameter is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: a string

  • LLVM_COMPILE indicates that the codegen compilation time of each thread is displayed on the explain performance page.
  • HASH_CONFLICT indicates that the log file in the pg_log directory of the DN process displays the hash table statistics, including the hash table size, hash chain length, and hash conflict information.
  • STREAM_DATA_CHECK indicates that a CRC check is performed on data before and after network data transmission.

Default value: off(ALL), on(), or off, which indicates that no location function is enabled.

pljava_vmoption

Parameter description: Specifies the startup parameters for JVMs used by the PL/Java function.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: a string, supporting:

  • JDK8 JVM startup parameters. For details, see JDK official descriptions.
  • JDK8 JVM system attributes (starting with –D, for example, –Djava.ext.dirs). For details, see JDK official descriptions.
  • -Dhadoop.home.dir (Used to specify the Hadoop environment. For details, see "Using HDFS" in the "PL/Java Functions" section.)
  • User-defined parameters (starting with –D, for example, –Duser.defined.option).

If a user sets pljava_vmoptions to a value beyond the value range, an error will be reported when the PL/Java language function is used.

Default value: empty

enable_pbe_optimization

Parameter description: Specifies whether the optimizer optimizes the query plan for statements executed in the PBE format.

This parameter is valid only for the statements that are executed in the PBE format.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the optimizer optimizes the query plan.
  • off indicates that the optimization does not optimize the execution.

Default value: on

enable_light_proxy

Parameter description: Specifies whether the optimizer optimizes the execution of simple queries on CNs.

This parameter is a SUSET parameter. Set it based on instructions provided in Table 1.

Value range: Boolean

  • on indicates that the optimizer optimizes the execution.
  • off indicates that the optimization does not optimize the execution.

Default value: on