This document describes the configuration parameters related to table classes in the system.
Note!
To ensure system stability and security, manually modifying these parameters should be done with caution.
Sets the default table access method when the CREATE TABLE command does not explicitly specify one.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| enum | heap | heap / ao_row / ao_column / mars2 / mars3 | master; session |
Controls table creation when using DISTRIBUTED BY or CREATE TABLE to create a HEAP table without a CREATE TABLE AS clause.
CREATE TABLE: if this parameter is set to off (the default), and the table creation command does not include a DISTRIBUTED BY clause, YMatrix selects the distribution key according to the following rules:LIKE or INHERITS clause is specified, YMatrix copies the distribution key from the source or parent table.PRIMARY KEY or UNIQUE constraint is specified, YMatrix selects the largest subset of key columns as the distribution key.LIKE or INHERITS clauses are specified, YMatrix selects the first suitable column as the distribution key. (Columns of geometric or user-defined types are not valid for YMatrix distribution keys.)on, and no DISTRIBUTED BY clause is provided, YMatrix follows these rules:PRIMARY KEY or UNIQUE columns are specified, the table is distributed randomly (DISTRIBUTED RANDOMLY). The distribution remains random even if the command includes LIKE or INHERITS clauses.PRIMARY KEY or UNIQUE columns are specified, a DISTRIBUTED BY clause must also be included. Otherwise, the command fails.CREATE TABLE AS commands without a distribution clause:off, the distribution strategy is determined by the command.on, the distribution strategy is random.| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | off | master; system; reload |
Sets default values for table storage options when using the CREATE TABLE command.
appendoptimized=value syntax to specify the append-optimized table storage type. appendoptimized is a simplified alias for the legacy appendonly option. YMatrix stores appendonly in the catalog and displays it when listing storage options for append-optimized tables.appendoptimized and compresstype, and the user sets orientation, the database-level options are ignored.mytest database: ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'. Append-optimized tables created in mytest use column orientation with RLE compression. You only need to specify WITH in the appendoptimized=TRUE clause.gpconfig -c 'gp_default_storage_options' -v 'appendoptimized=true, orientation=column'.gpconfig -s 'gp_default_storage_options'.| Default Value | Valid Values | Setting Scope |
|---|---|---|
| appendoptimized=FALSE blocksize=32768 checksum=TRUE compresstype=none compresslevel=0 orientation=ROW |
appendoptimized= TRUE / FALSE blocksize= integer between 8192 and 2097152 checksum= TRUE / FALSE compresstype= ZLIB / ZSTD / QUICKLZ2 / RLE_TYPE / NONE compresslevel= integer between 0 and 19 orientation= ROW / COLUMN |
Set via gpconfig: master; session; reload Set at table creation: table |
Enables compaction of segment files during VACUUM operations.
VACUUM only truncates segment files to the EOF value, consistent with current behavior.| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | on | master; session; reload; superuser |
Specifies the threshold ratio (percentage) of hidden rows to total rows in a segment file that triggers compaction during FULL (lazy VACUUM) without the VACUUM option.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 10 | 0 ~ 100 | master; session; reload |
Specifies the minimum size for safe write operations on AO tables in immature file systems.
0 is specified, the append-optimized writer pads data to that size to prevent data corruption due to file system errors.32768 is commonly used.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; restart |
Compression threshold. Controls how many tuples are compressed at once in a single table. It defines the maximum number of tuples in a compression unit.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 1000 | 1 ~ 10000 | table |
Controls the number of L0 runs across all MARS2 tables that triggers a merge.
level0_merge_threshold.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 32 | 10 ~ 2048 | master; session/system; reload |
Controls the number of L0 runs in a single table that triggers a merge.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 32 | 1 ~ 2048 | table |
Controls the size (in MB) for upgrading a single table from L0 to L1. When a merge in L0 produces a run larger than this size, it is upgraded to L1.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 25 | 1 ~ 10000 | table |
Controls the size (in MB) for upgrading a single table from L1 to L2. When a merge in L1 produces a run larger than this size, it is upgraded to L2.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 1000 | 1 ~ 10000 | table |
Controls the sort memory size (in KB) per insert. For partitioned tables, this memory is shared among partitions.
2097152KB (2GB). Valid range is 128KB ~ 2147483647KB (up to 2048GB).| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 2097152 | 128 ~ 2147483647 | master; session/system; reload |
Controls the minimum sort memory allocated per partition in a partitioned table.
16384KB (16MB). Valid range is 128KB ~ 2147483647KB (up to 2048GB).| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 16384 | 128 ~ 2147483647 | master; session/system; reload |
Note!
These parameters must be configured at table creation using theWITHclause. They apply to individual tables and cannot be modified after creation.
Compression threshold. Controls how many tuples are compressed at once in a single table. It defines the maximum number of tuples in a compression unit.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 1200 | 1 ~ 100000 | table |
Specifies the amplification factor for level sizes.
rowstore_size * (level_size_amplifier ^ level). A higher value results in slower reads but faster writes.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 8 | 1 ~ 1000 | table |
Specifies the internal data loading mode for MARS3.
normal: Normal mode. New data is first written to row-store runs in L0. After accumulating rowstore_size tuples, it is flushed to column-store runs in L1. Compared to bulk, this incurs an extra I/O, and columnar conversion is asynchronous. Suitable for high-frequency, small-batch writes where I/O capacity is sufficient and latency is critical.bluk: Bulk load mode. Suitable for low-frequency, large-batch writes. Data is written directly to column-store runs in L1. Compared to normal, this reduces I/O and makes columnar conversion synchronous. Recommended when I/O capacity is limited and latency is not a concern.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| enum | normal | normal / bluk | table |
Controls when an L0 run switches to the next one. A new run is created when the data size exceeds this value (in MB).
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 64 | 8 ~ 1024 | table |
Enables or disables file system caching for object storage.
| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | off | master; session; reload |
Sets how often (in seconds) to refresh session access credentials.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; reload |
Sets the interval (in seconds) for background tasks to check whether data meets the conditions for offloading.
mxstop -u restart to take effect after modification.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 3600 | 1 ~ INT_MAX | master; system; reload |
Enables or disables in-memory caching for object storage.
| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | off | master; session; reload |
Enables or disables automatic data offloading.
mxstop -u restart to take effect after modification.| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | off | master; system; reload |
Enables or disables external tables that execute OS commands or scripts on segment hosts (CREATE EXTERNAL TABLE EXECUTE syntax).
| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | on | master; system; restart |
Enables filter pushdown when reading from external tables.
| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | on | master; session; reload |
Sets the number of segments used to scan external table data, preventing system overload and resource contention with concurrent operations.
gpfdist:// protocol.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 64 | 1 ~ INT_MAX | master; session; reload |
If set to n, YMatrix stops processing input rows when the first COPY rows contain format errors during n or external table import.
n rows, processing continues.0 disables this limit.COPY clause in SEGMENT REJECT LIMIT or external table definitions to limit rejected rows.INT_MAX is the maximum integer value storable in the system.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 1000 | 0 ~ INT_MAX | master; session; reload |
For single-row error handling on COPY and external tables with SELECT, sets the number of rows processed before SEGMENT REJECT LIMIT n PERCENT begins calculating rejection rates.
| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 300 | 0 ~ INT_MAX | master; session; reload |
Discards data packets from the gpfdist v1 protocol.
| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | off | master; session; reload |
Specifies the time (in seconds) YMatrix waits before canceling a query when data stops arriving from an external table during a SQL read operation.
0 means no timeout; queries are not canceled.gpfdist query runs for a long time and returns error 间歇性网络连接问题, set a value for readable_external_table_timeout. If gpfdist returns no data within the specified time, YMatrix cancels the query.| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 0 | 0 ~ INT_MAX | master; system; reload |
Buffer size (in KB) used by YMatrix for network communication, such as the gpfdist utility and external web tables (using HTTP).
32KB ~ 131072KB (up to 128MB).| Data Type | Default Value | Valid Values | Setting Scope |
|---|---|---|---|
| int | 64 | 32 ~ 131072 | segments; session; reload |
When using the gpfdists protocol with SSL security for external tables, controls whether SSL certificate authentication is enabled.
on enables SSL authentication when YMatrix communicates with the gpfdist utility for data I/O.off disables SSL certificate authentication. The following SSL exceptions are ignored:gpfdist.gpfdist.off to disable authentication during testing of communication between YMatrix external tables and the gpfdist utility.gpfdists exposes security risks.| Data Type | Default Value | Setting Scope |
|---|---|---|
| boolean | on | master; session; reload |