Server system configuration parameters instructions (required)

This document introduces the instructions for using the server system configuration parameters, including instructions for the parameter data type and value, instructions for the setting classification, etc.

Parameter data type and value

All parameters are case-insensitive.

The parameter data types are one of the following tables:

Data Type Description Case Sensitive
boolean Supported options: on / off / true / false / yes / no / 1 / 0 No
enum enum. Supported options are limited to string value sets listed in the value range No
int integer
floating point float point
string string Yes

Some parameter values ​​may be set to be related to the memory size or length of time. For these values, if you do not use the default units, you need to give explicit units when setting the values, such as memory units KB, MB, GB, time-dependent units ms (milliseconds), s (seconds), min (minutes), h (hours), d (days), m (months), y (years), etc. Note that the multiplier of memory units is 1024, not 1000.

Example:

=# SET statement_mem TO '200MB';
=# SET idle_in_transaction_session_timeout TO '1s';

Notes!

  1. A valid time expression will contain a number and its units, and the same is true for memory expressions;
  2. Except when using default units, expressions may not explicitly specify units;
  3. There are no spaces between numbers and units.
  4. INT_MAX represents the maximum value of the int type constant, i.e. 2147483647.

Set up categories

Many system configuration parameters have restrictions on the modification permissions and settings method and setting time. For example, you must be a superuser of the YMatrix database, so you have permission to modify certain important parameters; and some parameters must be restarted to be modified before they can take effect, etc.

In YMatrix, Master and each Segment node instance have their own postgresql.conf file (located in their respective data directories). Some parameters are treated as segments type, meaning that for these parameters, each Segment node instance gets the corresponding parameter value based on their own postgresql.conf file. Therefore, you must manually set its parameter values ​​on the Master and on each Segment. Conversely, if the parameter is of type master, you just need to set it on the Master, and the Master will automatically sync to each Segment or be ignored by Segments.

In short, we try to describe to you as clearly as possible through the above and below tables: how to accurately interpret the meaning when you see the Set Classification column in the specific parameter value table.

Set Category Description
master / segments master refers to this parameter that only needs to be modified in the postgresql.conf file on the Master of the YMatrix cluster through the gpconfig command. After modification, the parameter value will be automatically passed to the Segments at runtime or ignored by the Segments
segments refers to that in addition to the need to be modified in the Master, (if necessary), this parameter must also be modified in each Segment. Each Segment takes its own configuration parameter value, which often require a restart of the system before it can take effect
session / system session means this parameter is session level; system means this parameter is system level
YMatrix parameter effective priority is as follows: session(SET)> database and role(ALTER ROLE...IN DATABASE...SET)> role(ALTER ROLE...SET)> database(ALTER DATABASE...SET) > system(postgresql.conf) (system parameters can only be modified in this file through gpconfig command)
restart / reload restart means that the parameter modification needs to be restarted. The YMatrix database system can take effect.
reload means that the parameter modification only requires reloading the server configuration file (mxstop -u) to take effect without stopping the database system
table table means that this parameter can only be configured using the WITH clause when creating a data table. It is suitable for a single table and cannot be modified once it is configured
superuser Parameters of session level that can only be modified by the superuser of the database
read only read only, not modified