Statement Behavior
This section describes related default parameters involved in the execution of SQL statements.
search_path
Parameter description: Specifies the order in which schemas are searched when an object is referenced with no schema specified.
Parameter type: string.
Unit: none
Value range: a character string consisting of one or more schema names. Different schema names are separated by commas (,).

- When this parameter is set to '"$user",public', shared use of a database (where no users have private schemas, and all share use of public), private per-user schemas, and combinations of them are supported. Other effects can be obtained by modifying the default search path setting, either globally or per-user.
- When this parameter is set to a null character string (''), the system automatically converts it into a pair of double quotation marks ("").
- If the content contains double quotation marks, the system considers them as insecure characters and converts each double quotation mark into a pair of double quotation marks.
Default value: '"$user",public'

$user indicates the name of the schema with the same name as the current session user. If the schema does not exist, $user will be ignored.
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion:
- If schemas of temporary tables exist in the current session, the schemas can be listed in the search path by using the alias pg_temp, for example, 'pg_temp,public'. The schema of temporary tables has the highest search priority and is always searched before all the other schemas specified in pg_catalog and search_path. Therefore, do not explicitly specify pg_temp to be searched after other schemas in search_path. If pg_temp is specified in search_path, this setting will not take effect and an error message will be displayed. If the alias pg_temp is used, the temporary schema will be searched only for tables, views, and data types, and not for functions or operators.
- The system catalog schema, pg_catalog, has the second highest search priority and is the first to be searched among all the schemas, excluding pg_temp, specified in search_path. Therefore, do not explicitly specify pg_catalog to be searched after other schemas in search_path. If pg_catalog is specified in search_path, this setting will not take effect and an error message will be displayed.
- When an object is created without a specific target schema, the object will be placed in the first valid schema listed in search_path. An error is reported if the search path is empty.
- The current effective value of the search path can be examined through the SQL function current_schema(). This is different from examining the value of search_path, because the current_schema() function displays the first valid schema name in search_path.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
current_schema
Parameter description: Specifies the current schema.
Parameter type: string.
Unit: none
Value range: a character string consisting of one or more schema names. Different schema names are separated by commas (,).
Default value: '"$user",public'

$user indicates the name of the schema with the same name as the current session user. If the schema does not exist, $user will be ignored.
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
default_tablespace
Parameter description: Specifies the default tablespace of the created objects (tables and indexes) when a CREATE command does not explicitly specify a tablespace.

- The value of this parameter is either the name of a tablespace, or an empty string that indicates the use of the default tablespace of the current database. If a non-default tablespace is specified, users must have CREATE privilege for it. Otherwise, creation attempts will fail.
- This parameter is not used for temporary tables. For them, the temp_tablespaces is used instead.
- This parameter is not used when users create databases. By default, a new database inherits its tablespace setting from the template database.
Parameter type: string.
Unit: none
Value range: Specifies the name of an existing tablespace or an empty string. An empty string indicates that the default tablespace is used.
Default value: ""
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
temp_tablespaces
Parameter description: Specifies one or more tablespaces to which temporary objects (temporary tables and their indexes) will be created when a CREATE command does not explicitly specify a tablespace. Temporary files for sorting large data sets are created in these tablespaces.
The value of this parameter can be a list of names of tablespaces. When there is more than one name in the list, GaussDB chooses a random tablespace from the list upon the creation of a temporary object each time. However, within a transaction, successively created temporary objects are placed in successive tablespaces in the list. If the element selected from the list is an empty character string, GaussDB will automatically use the default tablespace of the current database instead.
Parameter type: string.
Unit: none
Value range: name of an existing tablespace or an empty string. An empty character string indicates that all temporary objects are created only in the default tablespace of the current database. For details, see default_tablespace.
Default value: ""
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
default_storage_nodegroup
Parameter description: Specifies the node group where a table is created by default. This parameter takes effect only for ordinary tables.
Parameter type: string.
Unit: none
Value range: an existing Node Group name or "installation".
Default value: "installation"
- "installation" indicates that tables will be created in the node group created during database installation.
- Other character strings indicate that tables will be created in the node group specified by this parameter.
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
check_function_bodies
Parameter description: Specifies whether to enable validation of the function body string during the execution of CREATE FUNCTION. Verification is occasionally disabled to avoid problems, such as forward references when you restore function definitions from a dump. After the function is enabled, the syntax of the PL/SQL in the stored procedure is verified, including the data type, statement, and expression. The SQL statements in the stored procedure are not checked in the CREATE phase. Instead, they are checked during running.
Parameter type: Boolean.
Unit: none
Value range:
- on: Validation of the function body string is enabled during the execution of CREATE FUNCTION.
- off: Validation of the function body string is disabled during the execution of CREATE FUNCTION.
Default value: on
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
default_transaction_isolation
Parameter description: Specifies the default isolation level of each transaction.

The current version does not support the setting of the default transaction isolation level. The default value is read committed. Do not change the value.
Parameter type: enumerated type.
Unit: none
Value range:
- read committed: The transaction is read and committed.
- read uncommitted: The transaction is read but not committed.
- repeatable read: The transaction can be read repeatedly.
- serializable: Currently, this isolation level is not supported in GaussDB. It is equivalent to repeatable read.
Default value: read committed
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
default_transaction_read_only
Parameter description: Specifies whether each new transaction is in read-only state.
Parameter type: Boolean.
Unit: none
Value range:
- on indicates that the transaction is in read-only state.
- off indicates that the transaction is not in read-only state.
Default value: off
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If this parameter is set to on, DML cannot be performed and transactions cannot be written.
default_transaction_deferrable
Parameter description: Specifies the default deferrable status of each new transaction. It currently has no effect on read-only transactions or those running at isolation levels lower than serializable.
GaussDB does not support the serializable isolation level. Therefore, the parameter takes no effect.
Parameter type: Boolean.
Unit: none
Value range:
- on: delayed by default.
- off: no delay by default.
Default value: off
Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
session_replication_role
Parameter description: Specifies the behavior of replication-related triggers and rules for the current session.

Modifying this parameter will discard all the cached execution plans.
Parameter type: enumerated type.
Unit: none
Value range:
- origin: The system copies operations such as insert, delete, and update from the current session.
- replica: The system copies operations such as insert, delete, and update from other places to the current session.
- local: The system detects the role that has logged in to the database when using the function to copy operations and performs related operations.
Default value: origin
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
statement_timeout
Parameter description: If the statement execution time (starting from the time the server receives the command) is longer than the duration specified by the parameter, error information is displayed and the statement exits.
Parameter type: integer.
Unit: ms
Value range: 0 to 2147483647
Default value: 0, indicating that the timeout error reporting function is disabled.
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1. For example, if the value is 2000 without a unit, statement_timeout indicates 2000 ms. If the value is 2s, statement_timeout indicates 2s. The unit must be ms, s, min, h, or d if required.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
vacuum_freeze_min_age
Parameter description: Specifies whether VACUUM replaces the xmin column (minimum time) of a record with FrozenXID when scanning a table (in the same transaction).
Parameter type: integer.
Unit: none
Value range: 0 to 2000000000

Although you can set this parameter to any value, VACUUM will limit the effective value to 50% of autovacuum_freeze_max_age by default.
Default value: 2000000000
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If this parameter is set to a large value, the freeze time is delayed and the recycling efficiency is reduced.
vacuum_freeze_table_age
Parameter description: Specifies when VACUUM scans the whole table and freezes old tuples. VACUUM performs a full table scan if the difference between the current transaction ID and the value of pg_class.relfrozenxid64 is greater than the specified time.
Parameter type: integer.
Unit: none
Value range: 0 to 2000000000

Although you can set this parameter to any value, VACUUM will limit the effective value to 95% of autovacuum_freeze_max_age by default. Therefore, a periodic manual VACUUM has a chance to run before an anti-wraparound autovacuum is launched for the table.
Default value: 4000000000
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: If this parameter is set to a large value, tablespace expansion may occur.
bytea_output
Parameter description: Specifies the output format for values of the bytea type.
Parameter type: enumerated type.
Unit: none
Value range:
- hex indicates the binary data is converted to the two hexadecimal digits per byte.
- escape uses ASCII character sequences to represent binary strings, and converts those binary strings that cannot be represented as ASCII characters into special escape sequences.
Default value: hex
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
xmlbinary
Parameter description: Specifies the encoding format of binary values in XML files.

Currently, this parameter does not support data of the XML type.
Parameter type: enumerated type.
Unit: none
Value range:
- base64: The Base64 encoding format is used.
- hex: The hex encoding format is used.
Default value: base64
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
xmloption
Parameter description: Specifies whether XML data is treated as a document or a normal string when it is implicitly converted or serialized.

Currently, this parameter does not support data of the XML type.
Parameter type: enumerated type.
Unit: none
Value range:
- document indicates an HTML document.
- content indicates a common string.
Default value: content
Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value.
Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.
max_compile_functions
Parameter description: Specifies the maximum number of compilation results of stored procedures and functions that can be stored on a node, including system stored procedures and user-defined stored procedures and functions. If the compilation result exceeds the value of this parameter, the system automatically triggers memory eviction and deletes unused common stored procedures and functions.
Parameter type: integer.
Unit: none
Value range: 1 to 2147483647.
Default value: 1000
Setting method: This is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Setting suggestion: Retain the default value to reduce memory usage and improve system performance.
Risks and impacts of improper settings: If the number of compilation results exceeds the value of this parameter and the system cannot find the stored procedures and functions that can be deleted, a large amount of memory is occupied, causing performance deterioration.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot