This is an automated email from the ASF dual-hosted git repository.

maxyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git


The following commit(s) were added to refs/heads/main by this push:
     new ee310deac52 PAX: Rename all PAX guc names from pax_xxx to pax.xxx
ee310deac52 is described below

commit ee310deac52972d8220d29eb3154b2f6c7b8215a
Author: Hao Wu <[email protected]>
AuthorDate: Wed Sep 10 02:03:07 2025 +0000

    PAX: Rename all PAX guc names from pax_xxx to pax.xxx
    
    The original guc names can't be set in configuration file, because
    the configuration file is loaded before the PAX gucs are registered.
    
    The gucs are usually used in session level. But setting the guc
    in configuration file will cause critical issue, so we rename
    the guc name to pax.xxx. The name containing the dot('.') is considered
    as a placeholder if the guc is not found.
---
 contrib/pax_storage/doc/README.md                  | 22 ++++++------
 contrib/pax_storage/doc/README.toast.md            |  2 +-
 contrib/pax_storage/expected/cluster.out           |  4 +--
 contrib/pax_storage/expected/filter.out            |  6 ++--
 contrib/pax_storage/expected/filter_1.out          |  6 ++--
 contrib/pax_storage/expected/filter_tree.out       | 12 +++----
 contrib/pax_storage/expected/filter_tree_1.out     | 12 +++----
 .../expected/filter_tree_arithmetic.out            |  4 +--
 .../expected/filter_tree_arithmetic_1.out          |  4 +--
 .../pax_storage/expected/filter_tree_optimizer.out | 12 +++----
 .../expected/filter_tree_optimizer_1.out           | 12 +++----
 .../expected/filter_tree_root_quals.out            |  4 +--
 .../expected/filter_tree_root_quals_1.out          |  4 +--
 .../expected/statistics/min_max_bit_byte_types.out | 12 +++----
 .../expected/statistics/min_max_float_types.out    | 12 +++----
 .../expected/statistics/min_max_geo_types.out      | 12 +++----
 .../expected/statistics/min_max_int_types.out      | 12 +++----
 .../expected/statistics/min_max_net_types.out      | 12 +++----
 .../expected/statistics/min_max_other_types.out    | 12 +++----
 .../expected/statistics/min_max_text_types.out     | 12 +++----
 .../expected/statistics/min_max_time_types.out     | 12 +++----
 .../pax_storage/expected/statistics/statistics.out | 10 +++---
 .../expected/statistics_bloom_filter.out           | 20 +++++------
 contrib/pax_storage/expected/toast.out             |  6 ++--
 contrib/pax_storage/expected/toast_failed.out      |  2 +-
 .../pax_storage/expected/visimap_vec_compact.out   |  4 +--
 .../pax_storage/expected/visimap_vec_compact_1.out |  4 +--
 .../pax_storage/expected/visimap_vec_storage.out   |  4 +--
 .../pax_storage/expected/visimap_vec_storage_1.out |  4 +--
 contrib/pax_storage/sql/cluster.sql                |  4 +--
 contrib/pax_storage/sql/filter.sql                 |  6 ++--
 contrib/pax_storage/sql/filter_tree.sql            |  8 ++---
 contrib/pax_storage/sql/filter_tree_arithmetic.sql |  4 +--
 contrib/pax_storage/sql/filter_tree_root_quals.sql |  4 +--
 .../sql/statistics/min_max_bit_byte_types.sql      | 12 +++----
 .../sql/statistics/min_max_float_types.sql         | 12 +++----
 .../sql/statistics/min_max_geo_types.sql           | 12 +++----
 .../sql/statistics/min_max_int_types.sql           | 12 +++----
 .../sql/statistics/min_max_net_types.sql           | 12 +++----
 .../sql/statistics/min_max_other_types.sql         | 12 +++----
 .../sql/statistics/min_max_text_types.sql          | 12 +++----
 .../sql/statistics/min_max_time_types.sql          | 12 +++----
 contrib/pax_storage/sql/statistics/statistics.sql  | 10 +++---
 .../pax_storage/sql/statistics_bloom_filter.sql    | 20 +++++------
 contrib/pax_storage/sql/toast.sql                  |  6 ++--
 contrib/pax_storage/sql/toast_failed.sql           |  2 +-
 contrib/pax_storage/sql/visimap_vec_compact.sql    |  4 +--
 contrib/pax_storage/sql/visimap_vec_storage.sql    |  4 +--
 contrib/pax_storage/src/cpp/comm/guc.cc            | 42 +++++++++++-----------
 .../src/test/regress/expected/autostats.out        |  2 +-
 .../src/test/regress/expected/gporca.out           |  8 ++---
 .../src/test/regress/expected/gporca_optimizer.out |  8 ++---
 .../src/test/regress/expected/rowsecurity.out      |  4 +--
 .../regress/expected/rowsecurity_optimizer.out     |  4 +--
 .../src/test/regress/expected/select_views.out     |  4 +--
 .../regress/expected/select_views_optimizer.out    |  4 +--
 .../src/test/regress/expected/stats_ext.out        |  4 +--
 .../test/regress/expected/stats_ext_optimizer.out  |  4 +--
 .../pax_storage/src/test/regress/sql/autostats.sql |  2 +-
 .../src/test/regress/sql/cbdb_parallel.sql         |  2 +-
 .../pax_storage/src/test/regress/sql/gporca.sql    |  8 ++---
 .../src/test/regress/sql/incremental_analyze.sql   |  2 +-
 .../src/test/regress/sql/rowsecurity.sql           |  4 +--
 .../src/test/regress/sql/select_views.sql          |  4 +--
 .../pax_storage/src/test/regress/sql/stats_ext.sql |  4 +--
 65 files changed, 266 insertions(+), 266 deletions(-)

diff --git a/contrib/pax_storage/doc/README.md 
b/contrib/pax_storage/doc/README.md
index 760d1499cc0..39077955a0c 100644
--- a/contrib/pax_storage/doc/README.md
+++ b/contrib/pax_storage/doc/README.md
@@ -164,14 +164,14 @@ For AM(access methods) in Cloudberry, each AM has 
customized relation options. U
 
 | Name                               | Type   | Optional               | 
Default  | Description                                                          
                                                                     |
 | :-----:                            | :----: | :----                  | :---- 
   | :----                                                                      
                                                               |
-| pax_enable_sparse_filter           | bool   | `on`/`off`             | `on`  
   | Specifies whether to enable sparse filtering based on statistics.          
                                                                                
                                     |
-| pax_enable_row_filter              | bool   | `on`/`off`             | `off` 
   | Specifies whether to enable row filtering.                                 
                                                                                
               |
-| pax_scan_reuse_buffer_size         | int    | [1048576, 33554432]    | 
8388608  | The buffer block size used during scanning.                          
                                                                                
                       |
-| pax_max_tuples_per_group           | int    | [5, 524288]            | 
131072   | Specifies the maximum number of tuples allowed in each group.        
                                                                                
                                            |
-| pax_max_tuples_per_file            | int    | [131072, 8388608]      | 
1310720  | Specifies the maximum number of tuples allowed in each data file.    
                                                                                
                                                 |
-| pax_max_size_per_file              | int    | [8388608, 335544320]   | 
67108864 | The maximum physical size allowed for each data file. The default 
value is 67108864 (64MiB). The actual file size might be slightly larger than 
the set size. Very large or small values might negatively impact performance. |
-| pax_enable_toast                   | bool   | `on`/`off`             | `on`  
   | Specifies whether to enable TOAST support.                                 
                                                                                
                 |
-| pax_min_size_of_compress_toast     | int    | [524288, 1073741824]   | 
524288   | Specifies the threshold for creating compressed TOAST tables. If the 
character length exceeds this threshold, Cloudberry creates compressed TOAST 
tables for storage.                                                   |
-| pax_min_size_of_external_toast     | int    | [10485760, 2147483647] | 
10485760 | Specifies the threshold for creating external TOAST tables. If the 
character length exceeds this threshold, Cloudberry creates external TOAST 
tables for storage.                                                     |
-| pax_default_storage_format         | string | `porc`/`porc_vec`      | 
`porc`   | Controls the default storage format.                                 
                                                                                
                  | 
-| pax_bloom_filter_work_memory_bytes | int    | [1024, 2147483647]     | 10240 
   | Controls the maximum memory allowed for bloom filter usage.                
                                                                                
                                    |
+| pax.enable_sparse_filter           | bool   | `on`/`off`             | `on`  
   | Specifies whether to enable sparse filtering based on statistics.          
                                                                                
                                     |
+| pax.enable_row_filter              | bool   | `on`/`off`             | `off` 
   | Specifies whether to enable row filtering.                                 
                                                                                
               |
+| pax.scan_reuse_buffer_size         | int    | [1048576, 33554432]    | 
8388608  | The buffer block size used during scanning.                          
                                                                                
                       |
+| pax.max_tuples_per_group           | int    | [5, 524288]            | 
131072   | Specifies the maximum number of tuples allowed in each group.        
                                                                                
                                            |
+| pax.max_tuples_per_file            | int    | [131072, 8388608]      | 
1310720  | Specifies the maximum number of tuples allowed in each data file.    
                                                                                
                                                 |
+| pax.max_size_per_file              | int    | [8388608, 335544320]   | 
67108864 | The maximum physical size allowed for each data file. The default 
value is 67108864 (64MiB). The actual file size might be slightly larger than 
the set size. Very large or small values might negatively impact performance. |
+| pax.enable_toast                   | bool   | `on`/`off`             | `on`  
   | Specifies whether to enable TOAST support.                                 
                                                                                
                 |
+| pax.min_size_of_compress_toast     | int    | [524288, 1073741824]   | 
524288   | Specifies the threshold for creating compressed TOAST tables. If the 
character length exceeds this threshold, Cloudberry creates compressed TOAST 
tables for storage.                                                   |
+| pax.min_size_of_external_toast     | int    | [10485760, 2147483647] | 
10485760 | Specifies the threshold for creating external TOAST tables. If the 
character length exceeds this threshold, Cloudberry creates external TOAST 
tables for storage.                                                     |
+| pax.default_storage_format         | string | `porc`/`porc_vec`      | 
`porc`   | Controls the default storage format.                                 
                                                                                
                  | 
+| pax.bloom_filter_work_memory_bytes | int    | [1024, 2147483647]     | 10240 
   | Controls the maximum memory allowed for bloom filter usage.                
                                                                                
                                    |
diff --git a/contrib/pax_storage/doc/README.toast.md 
b/contrib/pax_storage/doc/README.toast.md
index 631680a7a9b..44fb084d5e5 100644
--- a/contrib/pax_storage/doc/README.toast.md
+++ b/contrib/pax_storage/doc/README.toast.md
@@ -60,7 +60,7 @@ Compress toast is consistent with Cloudberry compress toast.
 
 This part of the data is a varlena structure, and it is of type 
`varattrib_4b`, which means that it has a varlena head and the storage range is 
less than 1G.
 
-In addition, the lower limit of the datum length that needs to be compressed 
on PAX may be set to larger, and TOAST_TUPLE_THRESHOLD is no longer used as the 
threshold. Instead, we added a GUC(`pax_min_size_of_compress_toast`) to use.
+In addition, the lower limit of the datum length that needs to be compressed 
on PAX may be set to larger, and TOAST_TUPLE_THRESHOLD is no longer used as the 
threshold. Instead, we added a GUC(`pax.min_size_of_compress_toast`) to use.
 
 ```
 typedef union
diff --git a/contrib/pax_storage/expected/cluster.out 
b/contrib/pax_storage/expected/cluster.out
index 792c3503a73..c541db45bc2 100644
--- a/contrib/pax_storage/expected/cluster.out
+++ b/contrib/pax_storage/expected/cluster.out
@@ -1,4 +1,4 @@
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_file to 131072;
 -- cluster table using index
 -- start_ignore
 drop table if EXISTS t_index_cluster;
@@ -135,7 +135,7 @@ select ptblockname,ptstatistics,ptisclustered from 
get_pax_aux_table('t_zorder_c
 
 drop table t_zorder_cluster;
 -- test cluster index
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_file to 131072;
 drop table if EXISTS t_index_cluster;
 create table t_index_cluster(c1 int, c2 int) with (minmax_columns='c1,c2');
 \d+ t_index_cluster;
diff --git a/contrib/pax_storage/expected/filter.out 
b/contrib/pax_storage/expected/filter.out
index f182c041a31..44f38a36038 100644
--- a/contrib/pax_storage/expected/filter.out
+++ b/contrib/pax_storage/expected/filter.out
@@ -1,5 +1,5 @@
-set pax_enable_debug to on;
-set pax_enable_sparse_filter = on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter = on;
 create table pax_test.null_test_t(a int, b int, c text) using pax;
 insert into pax_test.null_test_t(a) select null from generate_series(1,2)i;
 insert into pax_test.null_test_t select 1, i, 'cc_' || i from 
generate_series(1,2)i;
@@ -222,4 +222,4 @@ kind group, filter rate: 0 / 1
 
 reset client_min_messages;
 drop table pax_test.in_test_t;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/expected/filter_1.out 
b/contrib/pax_storage/expected/filter_1.out
index 6b45c3be862..d2124c5491c 100644
--- a/contrib/pax_storage/expected/filter_1.out
+++ b/contrib/pax_storage/expected/filter_1.out
@@ -1,5 +1,5 @@
-set pax_enable_debug to on;
-set pax_enable_sparse_filter = on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter = on;
 create table pax_test.null_test_t(a int, b int, c text) using pax;
 insert into pax_test.null_test_t(a) select null from generate_series(1,2)i;
 insert into pax_test.null_test_t select 1, i, 'cc_' || i from 
generate_series(1,2)i;
@@ -222,4 +222,4 @@ kind group, filter rate: 0 / 1
 
 reset client_min_messages;
 drop table pax_test.in_test_t;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/expected/filter_tree.out 
b/contrib/pax_storage/expected/filter_tree.out
index a7115efc1e9..fabf6729d71 100644
--- a/contrib/pax_storage/expected/filter_tree.out
+++ b/contrib/pax_storage/expected/filter_tree.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create  or replace function intrc(iint int)
  returns int as $$ 
  begin return iint; end;
@@ -530,8 +530,8 @@ LOG:  statement: select count(*) from t1 where intrc(v1) + 
10 > v2;
 (1 row)
 
 -- simply the filter tree
-set pax_log_filter_tree to on;
-LOG:  statement: set pax_log_filter_tree to on;
+set pax.log_filter_tree to on;
+LOG:  statement: set pax.log_filter_tree to on;
 select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  statement: select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  Origin filter tree: 
@@ -653,8 +653,8 @@ NullTestNode(flags=129)
    200
 (1 row)
 
-reset pax_log_filter_tree;
-LOG:  statement: reset pax_log_filter_tree;
+reset pax.log_filter_tree;
+LOG:  statement: reset pax.log_filter_tree;
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 -- IN && bloom filter
diff --git a/contrib/pax_storage/expected/filter_tree_1.out 
b/contrib/pax_storage/expected/filter_tree_1.out
index 4739ac6bb3b..3e158df074b 100644
--- a/contrib/pax_storage/expected/filter_tree_1.out
+++ b/contrib/pax_storage/expected/filter_tree_1.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create  or replace function intrc(iint int)
  returns int as $$ 
  begin return iint; end;
@@ -530,8 +530,8 @@ LOG:  statement: select count(*) from t1 where intrc(v1) + 
10 > v2;
 (1 row)
 
 -- simply the filter tree
-set pax_log_filter_tree to on;
-LOG:  statement: set pax_log_filter_tree to on;
+set pax.log_filter_tree to on;
+LOG:  statement: set pax.log_filter_tree to on;
 select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  statement: select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  Origin filter tree: 
@@ -660,8 +660,8 @@ NullTestNode(flags=129)
    200
 (1 row)
 
-reset pax_log_filter_tree;
-LOG:  statement: reset pax_log_filter_tree;
+reset pax.log_filter_tree;
+LOG:  statement: reset pax.log_filter_tree;
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 -- IN && bloom filter
diff --git a/contrib/pax_storage/expected/filter_tree_arithmetic.out 
b/contrib/pax_storage/expected/filter_tree_arithmetic.out
index 4486c647d6d..d1c49823f9b 100644
--- a/contrib/pax_storage/expected/filter_tree_arithmetic.out
+++ b/contrib/pax_storage/expected/filter_tree_arithmetic.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create table t_arithmetic(same int, v1 int, v2 int, v3 int) using pax with 
(minmax_columns='v1,v2,v3');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 
'same' as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
diff --git a/contrib/pax_storage/expected/filter_tree_arithmetic_1.out 
b/contrib/pax_storage/expected/filter_tree_arithmetic_1.out
index b333d2bf625..b3fb2cb8e92 100644
--- a/contrib/pax_storage/expected/filter_tree_arithmetic_1.out
+++ b/contrib/pax_storage/expected/filter_tree_arithmetic_1.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create table t_arithmetic(same int, v1 int, v2 int, v3 int) using pax with 
(minmax_columns='v1,v2,v3');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 
'same' as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
diff --git a/contrib/pax_storage/expected/filter_tree_optimizer.out 
b/contrib/pax_storage/expected/filter_tree_optimizer.out
index 6f07519949f..437408e52b6 100644
--- a/contrib/pax_storage/expected/filter_tree_optimizer.out
+++ b/contrib/pax_storage/expected/filter_tree_optimizer.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create  or replace function intrc(iint int)
  returns int as $$ 
  begin return iint; end;
@@ -530,8 +530,8 @@ LOG:  statement: select count(*) from t1 where intrc(v1) + 
10 > v2;
 (1 row)
 
 -- simply the filter tree
-set pax_log_filter_tree to on;
-LOG:  statement: set pax_log_filter_tree to on;
+set pax.log_filter_tree to on;
+LOG:  statement: set pax.log_filter_tree to on;
 select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  statement: select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  Origin filter tree: 
@@ -656,8 +656,8 @@ NullTestNode(flags=129)
    200
 (1 row)
 
-reset pax_log_filter_tree;
-LOG:  statement: reset pax_log_filter_tree;
+reset pax.log_filter_tree;
+LOG:  statement: reset pax.log_filter_tree;
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 -- IN && bloom filter
diff --git a/contrib/pax_storage/expected/filter_tree_optimizer_1.out 
b/contrib/pax_storage/expected/filter_tree_optimizer_1.out
index a4c4c168664..19049ca4cd8 100644
--- a/contrib/pax_storage/expected/filter_tree_optimizer_1.out
+++ b/contrib/pax_storage/expected/filter_tree_optimizer_1.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create  or replace function intrc(iint int)
  returns int as $$ 
  begin return iint; end;
@@ -530,8 +530,8 @@ LOG:  statement: select count(*) from t1 where intrc(v1) + 
10 > v2;
 (1 row)
 
 -- simply the filter tree
-set pax_log_filter_tree to on;
-LOG:  statement: set pax_log_filter_tree to on;
+set pax.log_filter_tree to on;
+LOG:  statement: set pax.log_filter_tree to on;
 select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  statement: select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 LOG:  Origin filter tree: 
@@ -664,8 +664,8 @@ NullTestNode(flags=129)
    200
 (1 row)
 
-reset pax_log_filter_tree;
-LOG:  statement: reset pax_log_filter_tree;
+reset pax.log_filter_tree;
+LOG:  statement: reset pax.log_filter_tree;
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 -- IN && bloom filter
diff --git a/contrib/pax_storage/expected/filter_tree_root_quals.out 
b/contrib/pax_storage/expected/filter_tree_root_quals.out
index c638550cb8a..6ca467e7142 100644
--- a/contrib/pax_storage/expected/filter_tree_root_quals.out
+++ b/contrib/pax_storage/expected/filter_tree_root_quals.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create table t1(same int, v1 int, v2 int, v3 int, v4 int) using pax with 
(minmax_columns='v1,v2,v3,v4');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 
'same' as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
diff --git a/contrib/pax_storage/expected/filter_tree_root_quals_1.out 
b/contrib/pax_storage/expected/filter_tree_root_quals_1.out
index 434eb449b59..d473544e73b 100644
--- a/contrib/pax_storage/expected/filter_tree_root_quals_1.out
+++ b/contrib/pax_storage/expected/filter_tree_root_quals_1.out
@@ -5,8 +5,8 @@
 -- m/No sparse filter/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 create table t1(same int, v1 int, v2 int, v3 int, v4 int) using pax with 
(minmax_columns='v1,v2,v3,v4');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 
'same' as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
diff --git a/contrib/pax_storage/expected/statistics/min_max_bit_byte_types.out 
b/contrib/pax_storage/expected/statistics/min_max_bit_byte_types.out
index 11b333296dc..aca12f8eb6a 100644
--- a/contrib/pax_storage/expected/statistics/min_max_bit_byte_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_bit_byte_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the bool min/max types support 
 -- 
@@ -609,6 +609,6 @@ kind group, filter rate: 1 / 4
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_varbit;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_float_types.out 
b/contrib/pax_storage/expected/statistics/min_max_float_types.out
index c820fecf38c..620f8c1b9d4 100644
--- a/contrib/pax_storage/expected/statistics/min_max_float_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_float_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the float4 min/max types support 
 -- 
@@ -809,6 +809,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_float8;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_geo_types.out 
b/contrib/pax_storage/expected/statistics/min_max_geo_types.out
index b067ed69207..2a1bf609fde 100644
--- a/contrib/pax_storage/expected/statistics/min_max_geo_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_geo_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the box min/max types support 
 -- 
@@ -837,6 +837,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_path;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_int_types.out 
b/contrib/pax_storage/expected/statistics/min_max_int_types.out
index 1c08ce15288..c60fa8f247d 100644
--- a/contrib/pax_storage/expected/statistics/min_max_int_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_int_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the int2 min/max types support 
 -- 
@@ -2015,6 +2015,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_numeric;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_net_types.out 
b/contrib/pax_storage/expected/statistics/min_max_net_types.out
index 97c288ee5ab..801ab2ca69e 100644
--- a/contrib/pax_storage/expected/statistics/min_max_net_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_net_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the inet min/max types support 
 -- 
@@ -644,6 +644,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_mac8;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_other_types.out 
b/contrib/pax_storage/expected/statistics/min_max_other_types.out
index f62316c5f0e..bb79c1e3ee1 100644
--- a/contrib/pax_storage/expected/statistics/min_max_other_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_other_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the oid min/max types support 
 -- 
@@ -637,6 +637,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_uuid;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_text_types.out 
b/contrib/pax_storage/expected/statistics/min_max_text_types.out
index 6e791f40cb2..119396957c5 100644
--- a/contrib/pax_storage/expected/statistics/min_max_text_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_text_types.out
@@ -5,9 +5,9 @@
 -- m/Feature not supported/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the text min/max types support 
 -- 
@@ -3210,6 +3210,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_name;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/min_max_time_types.out 
b/contrib/pax_storage/expected/statistics/min_max_time_types.out
index 6b15a011dde..c279e8207cb 100644
--- a/contrib/pax_storage/expected/statistics/min_max_time_types.out
+++ b/contrib/pax_storage/expected/statistics/min_max_time_types.out
@@ -4,9 +4,9 @@
 -- m/scan key build success/
 -- end_matchignore
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 -- 
 -- Test the date min/max types support 
 -- 
@@ -2485,6 +2485,6 @@ LOG:  kind file, filter rate: 0 / 2
 reset client_min_messages;
 LOG:  statement: reset client_min_messages;
 drop table t_interval;
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics/statistics.out 
b/contrib/pax_storage/expected/statistics/statistics.out
index 97b1a7bba9f..90a06b8cfd2 100644
--- a/contrib/pax_storage/expected/statistics/statistics.out
+++ b/contrib/pax_storage/expected/statistics/statistics.out
@@ -2,7 +2,7 @@ set default_table_access_method = pax;
 -- 
 -- Test with small group
 -- 
-set pax_max_tuples_per_group = 10;
+set pax.max_tuples_per_group = 10;
 -- test min/max type support
 create table t1(v1 int, v2 text, v3 float8, v4 bool) with 
(minmax_columns='v1,v2,v3,v4');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'v1' 
as the Apache Cloudberry data distribution key for this table.
@@ -186,7 +186,7 @@ select * from get_pax_aux_table('t_interval');
 (3 rows)
 
 drop table t_interval;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
 -- 
 -- Test with small group
 -- 
@@ -347,7 +347,7 @@ drop table t_interval;
 -- 
 -- Test the update/delete DML, stats should be updated
 -- 
-set pax_max_tuples_per_group = 250;
+set pax.max_tuples_per_group = 250;
 -- delete part of data in the first group
 create table t1_update_stats(v1 int, v2 int, v3 int) with 
(minmax_columns='v1,v2');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'v1' 
as the Apache Cloudberry data distribution key for this table.
@@ -660,7 +660,7 @@ select * from get_pax_aux_table('t10_update_stats');
 
 drop table t10_update_stats;
 -- delete twice
-set pax_max_tuples_per_group = 25;
+set pax.max_tuples_per_group = 25;
 create table t_delete_twice_stats(v1 int, v2 int, v3 int) with 
(minmax_columns='v2,v3');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'v1' 
as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
@@ -743,4 +743,4 @@ select * from get_pax_aux_table('t_update_twice_stats');
 (3 rows)
 
 drop table t_update_twice_stats;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/statistics_bloom_filter.out 
b/contrib/pax_storage/expected/statistics_bloom_filter.out
index bb2b4ae7c19..ec96bcfbc97 100644
--- a/contrib/pax_storage/expected/statistics_bloom_filter.out
+++ b/contrib/pax_storage/expected/statistics_bloom_filter.out
@@ -6,12 +6,12 @@
 -- m/^LOG:  Missing statistics for column: .*/
 -- end_matchignore
 set default_table_access_method = pax;
-set pax_enable_debug to on;
+set pax.enable_debug to on;
 -- 
 -- Test with small group
 -- 
-set pax_max_tuples_per_group = 10;
-set pax_bloom_filter_work_memory_bytes = 102400; -- 100kb
+set pax.max_tuples_per_group = 10;
+set pax.bloom_filter_work_memory_bytes = 102400; -- 100kb
 -- create pax table with bloom filter reloptions 
 create table t1(v1 int, v2 text, v3 varchar, v4 varchar(100), v5 bit, v6 
float, v7 numeric, v8 numeric(20,10)) 
     with (bloomfilter_columns='v1,v2,v3,v4,v5,v6,v7,v8');
@@ -20,7 +20,7 @@ create table t2(v1 int, v2 text, v3 varchar, v4 varchar(100), 
v5 bit, v6 float,
 drop table t1;
 drop table t2;
 -- test bloom filter(only work on IN case)
-set pax_enable_sparse_filter to on;
+set pax.enable_sparse_filter to on;
 -- the fixed length and type by value type
 create table t1(single_seg int, v1 int, v2 int) with 
(bloomfilter_columns='v1,v2');
 insert into t1 values(1, generate_series(1, 100), generate_series(101, 200));
@@ -405,8 +405,8 @@ kind group, filter rate: 2 / 4
 reset client_min_messages;
 drop table t3;
 -- test the big bloom filter
-set pax_max_tuples_per_group to 16384;
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_group to 16384;
+set pax.max_tuples_per_file to 131072;
 create table t4(single_seg int, v1 varchar, v2 varchar) with 
(bloomfilter_columns='v1,v2');
 NOTICE:  Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 
'single_seg' as the Apache Cloudberry data distribution key for this table.
 HINT:  The 'DISTRIBUTED BY' clause determines the distribution of data. Make 
sure column(s) chosen are the optimal data distribution key to minimize skew.
@@ -458,7 +458,7 @@ kind group, filter rate: 7 / 8
 (0 rows)
 
 reset client_min_messages;
-reset pax_bloom_filter_work_memory_bytes;
-reset pax_max_tuples_per_group;
-reset pax_max_tuples_per_file;
-reset pax_enable_sparse_filter;
+reset pax.bloom_filter_work_memory_bytes;
+reset pax.max_tuples_per_group;
+reset pax.max_tuples_per_file;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/expected/toast.out 
b/contrib/pax_storage/expected/toast.out
index 3ec9dcd61ad..9306c12137f 100644
--- a/contrib/pax_storage/expected/toast.out
+++ b/contrib/pax_storage/expected/toast.out
@@ -1,5 +1,5 @@
 set default_table_access_method = pax;
-set pax_enable_toast to true;
+set pax.enable_toast to true;
 CREATE TABLE pax_toasttest_t1(v1 text);
 alter TABLE pax_toasttest_t1 alter column v1 set storage plain;
 insert into pax_toasttest_t1 values(repeat('0', 100000000));
@@ -131,9 +131,9 @@ select length(v2), length(v4) from pax_toasttest_t2;
 
 drop table pax_toasttest_t2;
 -----------------------------------------------------------------------
--- a copy test cases that should be sucess when pax_enable_toast is off
+-- a copy test cases that should be sucess when pax.enable_toast is off
 -----------------------------------------------------------------------
-set pax_enable_toast to false;
+set pax.enable_toast to false;
 CREATE TABLE pax_toasttest_t1(v1 text);
 alter TABLE pax_toasttest_t1 alter column v1 set storage plain;
 insert into pax_toasttest_t1 values(repeat('0', 100000000));
diff --git a/contrib/pax_storage/expected/toast_failed.out 
b/contrib/pax_storage/expected/toast_failed.out
index dfcd8a505b8..7e758f426df 100644
--- a/contrib/pax_storage/expected/toast_failed.out
+++ b/contrib/pax_storage/expected/toast_failed.out
@@ -1,5 +1,5 @@
 set default_table_access_method = pax;
-set pax_enable_toast to true;
+set pax.enable_toast to true;
 -- test compress failed
 -- random varchar always make compress toast failed
 create or replace function random_string(integer)
diff --git a/contrib/pax_storage/expected/visimap_vec_compact.out 
b/contrib/pax_storage/expected/visimap_vec_compact.out
index e372f4b3054..b7c0a2b061f 100644
--- a/contrib/pax_storage/expected/visimap_vec_compact.out
+++ b/contrib/pax_storage/expected/visimap_vec_compact.out
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 -- column types contain:
 -- 1. normal fix-length column, like int
 -- 2. normal variable-length column, like text
@@ -235,4 +235,4 @@ select * from pt1 where a = 1 and i >= 2 and i < 10;
 rollback;
 reset optimizer;
 drop table pt1;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/visimap_vec_compact_1.out 
b/contrib/pax_storage/expected/visimap_vec_compact_1.out
index 1cd08636a70..e4424dbe3a1 100644
--- a/contrib/pax_storage/expected/visimap_vec_compact_1.out
+++ b/contrib/pax_storage/expected/visimap_vec_compact_1.out
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 -- column types contain:
 -- 1. normal fix-length column, like int
 -- 2. normal variable-length column, like text
@@ -235,4 +235,4 @@ select * from pt1 where a = 1 and i >= 2 and i < 10;
 rollback;
 reset optimizer;
 drop table pt1;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/visimap_vec_storage.out 
b/contrib/pax_storage/expected/visimap_vec_storage.out
index fbc3b4ef549..ab36db2e7e4 100644
--- a/contrib/pax_storage/expected/visimap_vec_storage.out
+++ b/contrib/pax_storage/expected/visimap_vec_storage.out
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 -- column types contain:
 -- 1. normal fix-length column, like int
 -- 2. normal variable-length column, like text
@@ -235,4 +235,4 @@ select * from pt1 where a = 1 and i >= 2 and i < 10;
 rollback;
 reset optimizer;
 drop table pt1;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/expected/visimap_vec_storage_1.out 
b/contrib/pax_storage/expected/visimap_vec_storage_1.out
index 336e1f94009..51068b7ec84 100644
--- a/contrib/pax_storage/expected/visimap_vec_storage_1.out
+++ b/contrib/pax_storage/expected/visimap_vec_storage_1.out
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 -- column types contain:
 -- 1. normal fix-length column, like int
 -- 2. normal variable-length column, like text
@@ -235,4 +235,4 @@ select * from pt1 where a = 1 and i >= 2 and i < 10;
 rollback;
 reset optimizer;
 drop table pt1;
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/cluster.sql 
b/contrib/pax_storage/sql/cluster.sql
index 30da852522c..9b44fbdc6be 100644
--- a/contrib/pax_storage/sql/cluster.sql
+++ b/contrib/pax_storage/sql/cluster.sql
@@ -1,4 +1,4 @@
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_file to 131072;
 
 -- cluster table using index
 -- start_ignore
@@ -63,7 +63,7 @@ select ptblockname,ptstatistics,ptisclustered from 
get_pax_aux_table('t_zorder_c
 drop table t_zorder_cluster;
 
 -- test cluster index
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_file to 131072;
 drop table if EXISTS t_index_cluster;
 create table t_index_cluster(c1 int, c2 int) with (minmax_columns='c1,c2');
 \d+ t_index_cluster;
diff --git a/contrib/pax_storage/sql/filter.sql 
b/contrib/pax_storage/sql/filter.sql
index c2548f50703..baf4d619c6a 100644
--- a/contrib/pax_storage/sql/filter.sql
+++ b/contrib/pax_storage/sql/filter.sql
@@ -1,5 +1,5 @@
-set pax_enable_debug to on;
-set pax_enable_sparse_filter = on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter = on;
 create table pax_test.null_test_t(a int, b int, c text) using pax;
 
 insert into pax_test.null_test_t(a) select null from generate_series(1,2)i;
@@ -73,4 +73,4 @@ select * from pax_test.in_test_t where h in ('bp_2', 'bp_4');
 reset client_min_messages;
 drop table pax_test.in_test_t;
 
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/sql/filter_tree.sql 
b/contrib/pax_storage/sql/filter_tree.sql
index 04f8cbce942..81b350daa1e 100644
--- a/contrib/pax_storage/sql/filter_tree.sql
+++ b/contrib/pax_storage/sql/filter_tree.sql
@@ -7,8 +7,8 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 
 create  or replace function intrc(iint int)
  returns int as $$ 
@@ -132,11 +132,11 @@ select count(*) from t1 where v1 + v2 < v3;
 select count(*) from t1 where intrc(v1) + 10 > v2;
 
 -- simply the filter tree
-set pax_log_filter_tree to on;
+set pax.log_filter_tree to on;
 select count(*) from t1 where v1 > 10 or intrc(v2) < 120;
 select count(*) from t1 where v1 > 10 and intrc(v2) < 120;
 select count(*) from t1 where v1 is not null;
-reset pax_log_filter_tree;
+reset pax.log_filter_tree;
 
 reset client_min_messages;
 
diff --git a/contrib/pax_storage/sql/filter_tree_arithmetic.sql 
b/contrib/pax_storage/sql/filter_tree_arithmetic.sql
index 40339ecc393..deb136c9e29 100644
--- a/contrib/pax_storage/sql/filter_tree_arithmetic.sql
+++ b/contrib/pax_storage/sql/filter_tree_arithmetic.sql
@@ -7,8 +7,8 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 
 create table t_arithmetic(same int, v1 int, v2 int, v3 int) using pax with 
(minmax_columns='v1,v2,v3');
 create table ta_mul(same int, v1 int, v2 int, v3 int) using pax with 
(minmax_columns='v1,v2,v3');
diff --git a/contrib/pax_storage/sql/filter_tree_root_quals.sql 
b/contrib/pax_storage/sql/filter_tree_root_quals.sql
index 523f7a67f43..f4d4880f3bf 100644
--- a/contrib/pax_storage/sql/filter_tree_root_quals.sql
+++ b/contrib/pax_storage/sql/filter_tree_root_quals.sql
@@ -6,8 +6,8 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
 
 create table t1(same int, v1 int, v2 int, v3 int, v4 int) using pax with 
(minmax_columns='v1,v2,v3,v4');
 create table t2(same int, v1 int, v2 int, v3 int, v4 int) using pax with 
(minmax_columns='v1,v2,v3,v4');
diff --git a/contrib/pax_storage/sql/statistics/min_max_bit_byte_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_bit_byte_types.sql
index 73bc0a26596..a9d5822c6e6 100644
--- a/contrib/pax_storage/sql/statistics/min_max_bit_byte_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_bit_byte_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the bool min/max types support 
@@ -151,8 +151,8 @@ select count(*) from t_varbit where v = '1'::bit;
 reset client_min_messages;
 drop table t_varbit;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
 
 
diff --git a/contrib/pax_storage/sql/statistics/min_max_float_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_float_types.sql
index db17cf105ab..1ece90d9e4e 100644
--- a/contrib/pax_storage/sql/statistics/min_max_float_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_float_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the float4 min/max types support 
@@ -156,6 +156,6 @@ select count(*) from t_float8 where v <= 20::float4;
 reset client_min_messages;
 drop table t_float8;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_geo_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_geo_types.sql
index 02eb4929e76..575f0fe6721 100644
--- a/contrib/pax_storage/sql/statistics/min_max_geo_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_geo_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the box min/max types support 
@@ -194,6 +194,6 @@ select count(*) from t_path where v <= 
path'(0,0),(1,1),(2,20)';
 reset client_min_messages;
 drop table t_path;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_int_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_int_types.sql
index 68d9118f102..abcd1eb6374 100644
--- a/contrib/pax_storage/sql/statistics/min_max_int_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_int_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the int2 min/max types support 
@@ -366,6 +366,6 @@ select count(*) from t_numeric where v <= 20::numeric;
 reset client_min_messages;
 drop table t_numeric;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_net_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_net_types.sql
index fa46533689b..ceb19783ca6 100644
--- a/contrib/pax_storage/sql/statistics/min_max_net_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_net_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the inet min/max types support 
@@ -154,6 +154,6 @@ select count(*) from t_mac8 where v <= 
'12:34:56:00:00:00:00:20'::macaddr8;
 reset client_min_messages;
 drop table t_mac8;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_other_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_other_types.sql
index 1ebc0a3a504..79e93ccf83f 100644
--- a/contrib/pax_storage/sql/statistics/min_max_other_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_other_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the oid min/max types support 
@@ -145,6 +145,6 @@ select count(*) from t_uuid where v <= 
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a30'::u
 reset client_min_messages;
 drop table t_uuid;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_text_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_text_types.sql
index 66e7ed91b21..0dfd4c9f11b 100644
--- a/contrib/pax_storage/sql/statistics/min_max_text_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_text_types.sql
@@ -6,9 +6,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the text min/max types support 
@@ -590,6 +590,6 @@ select count(*) from t_name where v <= 'pft'::varchar;
 reset client_min_messages;
 drop table t_name;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/min_max_time_types.sql 
b/contrib/pax_storage/sql/statistics/min_max_time_types.sql
index 3a8c9fab872..710b5141926 100644
--- a/contrib/pax_storage/sql/statistics/min_max_time_types.sql
+++ b/contrib/pax_storage/sql/statistics/min_max_time_types.sql
@@ -5,9 +5,9 @@
 -- end_matchignore
 
 set default_table_access_method to pax;
-set pax_enable_debug to on;
-set pax_enable_sparse_filter to on;
-set pax_max_tuples_per_group to 5;
+set pax.enable_debug to on;
+set pax.enable_sparse_filter to on;
+set pax.max_tuples_per_group to 5;
 
 -- 
 -- Test the date min/max types support 
@@ -501,6 +501,6 @@ select count(*) from t_interval where v <= '20 
second'::interval;
 reset client_min_messages;
 drop table t_interval;
 
-reset pax_enable_debug;
-reset pax_enable_sparse_filter;
-reset pax_max_tuples_per_group;
+reset pax.enable_debug;
+reset pax.enable_sparse_filter;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics/statistics.sql 
b/contrib/pax_storage/sql/statistics/statistics.sql
index 7df0302cc67..00a9337e91d 100644
--- a/contrib/pax_storage/sql/statistics/statistics.sql
+++ b/contrib/pax_storage/sql/statistics/statistics.sql
@@ -4,7 +4,7 @@ set default_table_access_method = pax;
 -- 
 -- Test with small group
 -- 
-set pax_max_tuples_per_group = 10;
+set pax.max_tuples_per_group = 10;
 
 -- test min/max type support
 create table t1(v1 int, v2 text, v3 float8, v4 bool) with 
(minmax_columns='v1,v2,v3,v4');
@@ -87,7 +87,7 @@ insert into t_interval values
 select * from get_pax_aux_table('t_interval');
 drop table t_interval;
 
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
 
 -- 
 -- Test with small group
@@ -162,7 +162,7 @@ drop table t_interval;
 -- 
 -- Test the update/delete DML, stats should be updated
 -- 
-set pax_max_tuples_per_group = 250;
+set pax.max_tuples_per_group = 250;
 
 -- delete part of data in the first group
 create table t1_update_stats(v1 int, v2 int, v3 int) with 
(minmax_columns='v1,v2');
@@ -276,7 +276,7 @@ drop table t10_update_stats;
 
 
 -- delete twice
-set pax_max_tuples_per_group = 25;
+set pax.max_tuples_per_group = 25;
 create table t_delete_twice_stats(v1 int, v2 int, v3 int) with 
(minmax_columns='v2,v3');
 insert into t_delete_twice_stats values(1, generate_series(1, 100), 
generate_series(101, 200));
 select * from get_pax_aux_table('t_delete_twice_stats');
@@ -304,4 +304,4 @@ select sum(v2), sum(v3) from t_update_twice_stats;
 select * from get_pax_aux_table('t_update_twice_stats');
 drop table t_update_twice_stats;
 
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/statistics_bloom_filter.sql 
b/contrib/pax_storage/sql/statistics_bloom_filter.sql
index 53cfbf9418c..a19f8b1bd83 100644
--- a/contrib/pax_storage/sql/statistics_bloom_filter.sql
+++ b/contrib/pax_storage/sql/statistics_bloom_filter.sql
@@ -6,12 +6,12 @@
 -- m/^LOG:  Missing statistics for column: .*/
 -- end_matchignore
 set default_table_access_method = pax;
-set pax_enable_debug to on;
+set pax.enable_debug to on;
 -- 
 -- Test with small group
 -- 
-set pax_max_tuples_per_group = 10;
-set pax_bloom_filter_work_memory_bytes = 102400; -- 100kb
+set pax.max_tuples_per_group = 10;
+set pax.bloom_filter_work_memory_bytes = 102400; -- 100kb
 
 -- create pax table with bloom filter reloptions 
 create table t1(v1 int, v2 text, v3 varchar, v4 varchar(100), v5 bit, v6 
float, v7 numeric, v8 numeric(20,10)) 
@@ -23,7 +23,7 @@ drop table t1;
 drop table t2;
 
 -- test bloom filter(only work on IN case)
-set pax_enable_sparse_filter to on;
+set pax.enable_sparse_filter to on;
 -- the fixed length and type by value type
 create table t1(single_seg int, v1 int, v2 int) with 
(bloomfilter_columns='v1,v2');
 
@@ -124,8 +124,8 @@ reset client_min_messages;
 drop table t3;
 
 -- test the big bloom filter
-set pax_max_tuples_per_group to 16384;
-set pax_max_tuples_per_file to 131072;
+set pax.max_tuples_per_group to 16384;
+set pax.max_tuples_per_file to 131072;
 
 create table t4(single_seg int, v1 varchar, v2 varchar) with 
(bloomfilter_columns='v1,v2');
 insert into t4 values(1, generate_series(1, 1000000), generate_series(1000001, 
2000000));
@@ -140,7 +140,7 @@ select * from t4 where v1 > '1' and v2 in ('8', '1000009');
 select * from t4 where v1 in ('8', '1000009') and v2 in ('8', '1000009');
 reset client_min_messages;
 
-reset pax_bloom_filter_work_memory_bytes;
-reset pax_max_tuples_per_group;
-reset pax_max_tuples_per_file;
-reset pax_enable_sparse_filter;
+reset pax.bloom_filter_work_memory_bytes;
+reset pax.max_tuples_per_group;
+reset pax.max_tuples_per_file;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/sql/toast.sql 
b/contrib/pax_storage/sql/toast.sql
index c4c920617d1..3a8b267cc19 100644
--- a/contrib/pax_storage/sql/toast.sql
+++ b/contrib/pax_storage/sql/toast.sql
@@ -1,6 +1,6 @@
 set default_table_access_method = pax;
 
-set pax_enable_toast to true;
+set pax.enable_toast to true;
 CREATE TABLE pax_toasttest_t1(v1 text);
 alter TABLE pax_toasttest_t1 alter column v1 set storage plain;
 insert into pax_toasttest_t1 values(repeat('0', 100000000));
@@ -48,9 +48,9 @@ select length(v2), length(v4) from pax_toasttest_t2;
 drop table pax_toasttest_t2;
 
 -----------------------------------------------------------------------
--- a copy test cases that should be sucess when pax_enable_toast is off
+-- a copy test cases that should be sucess when pax.enable_toast is off
 -----------------------------------------------------------------------
-set pax_enable_toast to false;
+set pax.enable_toast to false;
 CREATE TABLE pax_toasttest_t1(v1 text);
 alter TABLE pax_toasttest_t1 alter column v1 set storage plain;
 insert into pax_toasttest_t1 values(repeat('0', 100000000));
diff --git a/contrib/pax_storage/sql/toast_failed.sql 
b/contrib/pax_storage/sql/toast_failed.sql
index f02749586d3..c9139b474ce 100644
--- a/contrib/pax_storage/sql/toast_failed.sql
+++ b/contrib/pax_storage/sql/toast_failed.sql
@@ -1,6 +1,6 @@
 set default_table_access_method = pax;
 
-set pax_enable_toast to true;
+set pax.enable_toast to true;
 
 -- test compress failed
 -- random varchar always make compress toast failed
diff --git a/contrib/pax_storage/sql/visimap_vec_compact.sql 
b/contrib/pax_storage/sql/visimap_vec_compact.sql
index 6454c6f0b63..2989e40b3a2 100644
--- a/contrib/pax_storage/sql/visimap_vec_compact.sql
+++ b/contrib/pax_storage/sql/visimap_vec_compact.sql
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 
 -- column types contain:
 -- 1. normal fix-length column, like int
@@ -78,4 +78,4 @@ reset optimizer;
 
 drop table pt1;
 
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/sql/visimap_vec_storage.sql 
b/contrib/pax_storage/sql/visimap_vec_storage.sql
index eac6eddc55e..daf8dec1ff9 100644
--- a/contrib/pax_storage/sql/visimap_vec_storage.sql
+++ b/contrib/pax_storage/sql/visimap_vec_storage.sql
@@ -2,7 +2,7 @@
 -- so we can test multiple group with visimap,
 -- at the beginning, in the middle, or at the end
 -- of a group.
-set pax_max_tuples_per_group = 5;
+set pax.max_tuples_per_group = 5;
 
 -- column types contain:
 -- 1. normal fix-length column, like int
@@ -78,4 +78,4 @@ reset optimizer;
 
 drop table pt1;
 
-reset pax_max_tuples_per_group;
+reset pax.max_tuples_per_group;
diff --git a/contrib/pax_storage/src/cpp/comm/guc.cc 
b/contrib/pax_storage/src/cpp/comm/guc.cc
index 6cdc429a3eb..8a6497d1db3 100644
--- a/contrib/pax_storage/src/cpp/comm/guc.cc
+++ b/contrib/pax_storage/src/cpp/comm/guc.cc
@@ -81,8 +81,8 @@ static bool CheckTuplePerGroup(int *newval, void **extra, 
GucSource source) {
   bool ok = *newval <= pax::pax_max_tuples_per_file;
   if (!ok) {
     elog(WARNING,
-         "The guc pax_max_tuples_per_group should LE with "
-         "pax_max_tuples_per_file");
+         "The guc pax.max_tuples_per_group should LE with "
+         "pax.max_tuples_per_file");
   }
   return ok;
 }
@@ -91,8 +91,8 @@ static bool CheckTuplePerFile(int *newval, void **extra, 
GucSource source) {
   bool ok = *newval >= pax::pax_max_tuples_per_group;
   if (!ok) {
     elog(WARNING,
-         "The guc pax_max_tuples_per_file should BE with "
-         "pax_max_tuples_per_group");
+         "The guc pax.max_tuples_per_file should BE with "
+         "pax.max_tuples_per_group");
   }
   return ok;
 }
@@ -102,8 +102,8 @@ static bool CheckMinCompressToastSize(int *newval, void 
**extra,
   bool ok = *newval < pax::pax_min_size_of_external_toast;
   if (!ok) {
     elog(WARNING,
-         "The guc pax_min_size_of_compress_toast should LT with "
-         "pax_min_size_of_external_toast");
+         "The guc pax.min_size_of_compress_toast should LT with "
+         "pax.min_size_of_external_toast");
   }
   return ok;
 }
@@ -113,8 +113,8 @@ static bool CheckMinExternalToastSize(int *newval, void 
**extra,
   bool ok = *newval > pax::pax_min_size_of_compress_toast;
   if (!ok) {
     elog(WARNING,
-         "The guc pax_min_size_of_external_toast should BT with "
-         "pax_min_size_of_compress_toast");
+         "The guc pax.min_size_of_external_toast should BT with "
+         "pax.min_size_of_compress_toast");
   }
   return ok;
 }
@@ -126,71 +126,71 @@ static bool CheckDefaultStorageFormat(char **newval, void 
**extra,
 }
 
 void DefineGUCs() {
-  DefineCustomBoolVariable("pax_enable_debug", "enable pax debug", NULL,
+  DefineCustomBoolVariable("pax.enable_debug", "enable pax debug", NULL,
                            &pax::pax_enable_debug, false, PGC_USERSET,
                            GUC_GPDB_NEED_SYNC, NULL, NULL, NULL);
 
-  DefineCustomBoolVariable("pax_enable_sparse_filter",
+  DefineCustomBoolVariable("pax.enable_sparse_filter",
                            "enable pax filter, contains min/max and bloom "
                            "filters for sparse filtering",
                            NULL, &pax::pax_enable_sparse_filter, true,
                            PGC_USERSET, 0, NULL, NULL, NULL);
 
-  DefineCustomBoolVariable("pax_enable_row_filter", "enable pax row filter",
+  DefineCustomBoolVariable("pax.enable_row_filter", "enable pax row filter",
                            NULL, &pax::pax_enable_row_filter, false,
                            PGC_USERSET, 0, NULL, NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_scan_reuse_buffer_size", "set the reuse buffer size", NULL,
+      "pax.scan_reuse_buffer_size", "set the reuse buffer size", NULL,
       &pax::pax_scan_reuse_buffer_size, PAX_SCAN_REUSE_BUFFER_DEFAULT_SIZE,
       PAX_SCAN_REUSE_BUFFER_MIN_SIZE, PAX_SCAN_REUSE_BUFFER_MAX_SIZE,
       PGC_USERSET, GUC_GPDB_NEED_SYNC, NULL, NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_max_tuples_per_group",
+      "pax.max_tuples_per_group",
       "the default value for the limit on the number of tuples in a group",
       NULL, &pax::pax_max_tuples_per_group, PAX_MAX_TUPLES_PER_GROUP_DEFAULT,
       PAX_MAX_TUPLES_PER_GROUP_MIN, PAX_MAX_TUPLES_PER_GROUP_MAX, PGC_USERSET,
       0, CheckTuplePerGroup, NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_max_tuples_per_file",
+      "pax.max_tuples_per_file",
       "the default value for the limit on the number of tuples in a file", 
NULL,
       &pax::pax_max_tuples_per_file, PAX_MAX_TUPLES_PER_FILE_DEFAULT,
       PAX_MAX_TUPLES_PER_FILE_MIN, PAX_MAX_NUM_TUPLES_PER_FILE, PGC_USERSET, 0,
       CheckTuplePerFile, NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_max_size_per_file",
+      "pax.max_size_per_file",
       "the default value for the limit on the number of tuples in a file", 
NULL,
       &pax::pax_max_size_per_file, PAX_MAX_SIZE_PER_FILE_DEFAULT,
       PAX_MAX_SIZE_PER_FILE_MIN, PAX_MAX_SIZE_PER_FILE_MAX, PGC_USERSET, 0,
       NULL, NULL, NULL);
 
-  DefineCustomBoolVariable("pax_enable_toast", "enable pax toast", NULL,
+  DefineCustomBoolVariable("pax.enable_toast", "enable pax toast", NULL,
                            &pax::pax_enable_toast, true, PGC_USERSET, 0, NULL,
                            NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_min_size_of_compress_toast",
+      "pax.min_size_of_compress_toast",
       "the minimum value for creating compress toast", NULL,
       &pax::pax_min_size_of_compress_toast, PAX_MIN_SIZE_MAKE_COMPRESSED_TOAST,
       PAX_MIN_SIZE_MAKE_COMPRESSED_TOAST, PAX_MAX_SIZE_MAKE_COMPRESSED_TOAST,
       PGC_USERSET, 0, CheckMinCompressToastSize, NULL, NULL);
 
   DefineCustomIntVariable(
-      "pax_min_size_of_external_toast",
+      "pax.min_size_of_external_toast",
       "the minimum value for creating external toast", NULL,
       &pax::pax_min_size_of_external_toast, PAX_MIN_SIZE_MAKE_EXTERNAL_TOAST,
       PAX_MIN_SIZE_MAKE_EXTERNAL_TOAST, INT_MAX, PGC_USERSET, 0,
       CheckMinExternalToastSize, NULL, NULL);
 
   DefineCustomStringVariable(
-      "pax_default_storage_format", "the default storage format", NULL,
+      "pax.default_storage_format", "the default storage format", NULL,
       &pax::pax_default_storage_format, STORAGE_FORMAT_TYPE_DEFAULT,
       PGC_USERSET, GUC_GPDB_NEED_SYNC, CheckDefaultStorageFormat, NULL, NULL);
 
-  DefineCustomIntVariable("pax_bloom_filter_work_memory_bytes",
+  DefineCustomIntVariable("pax.bloom_filter_work_memory_bytes",
                           "the bloom filter work memory(only used on write)",
                           NULL, &pax::pax_bloom_filter_work_memory_bytes,
                           PAX_BLOOM_FILTER_WORK_MEMORY_BYTES,
@@ -198,7 +198,7 @@ void DefineGUCs() {
                           PAX_MAX_BLOOM_FILTER_WORK_MEMORY_BYTES, PGC_USERSET,
                           0, NULL, NULL, NULL);
 
-  DefineCustomBoolVariable("pax_log_filter_tree", "Log the filter tree", NULL,
+  DefineCustomBoolVariable("pax.log_filter_tree", "Log the filter tree", NULL,
                            &pax::pax_log_filter_tree, false, PGC_USERSET, 0,
                            NULL, NULL, NULL);
 }
diff --git a/contrib/pax_storage/src/test/regress/expected/autostats.out 
b/contrib/pax_storage/src/test/regress/expected/autostats.out
index 6b184579907..6061799b2b4 100644
--- a/contrib/pax_storage/src/test/regress/expected/autostats.out
+++ b/contrib/pax_storage/src/test/regress/expected/autostats.out
@@ -11,7 +11,7 @@
 -- end_matchignore
 set gp_autostats_mode=on_change;
 set gp_autostats_on_change_threshold=9;
-set pax_enable_debug = false;
+set pax.enable_debug = false;
 set log_autostats=on;
 set client_min_messages=log;
 reset optimizer_trace_fallback;
diff --git a/contrib/pax_storage/src/test/regress/expected/gporca.out 
b/contrib/pax_storage/src/test/regress/expected/gporca.out
index 91a33a91bd4..25dc1938bed 100644
--- a/contrib/pax_storage/src/test/regress/expected/gporca.out
+++ b/contrib/pax_storage/src/test/regress/expected/gporca.out
@@ -10666,7 +10666,7 @@ create table foo(a int, b int) distributed by (a);
 -- and log_min_duration_statement, they are the most obvious ones.
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 explain select count(*) from foo group by cube(a,b);
                                               QUERY PLAN                       
                       
@@ -10687,7 +10687,7 @@ explain select count(*) from foo group by cube(a,b);
 (9 rows)
 
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_statement;
 reset log_min_duration_statement;
 -- TVF accepts ANYENUM, ANYELEMENT returns ANYENUM, ANYARRAY
@@ -10804,11 +10804,11 @@ explain select * from foo where b in ('1', '2');
 set optimizer_enable_ctas = off;
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 create table foo_ctas(a) as (select generate_series(1,10)) distributed by (a);
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_min_duration_statement;
 reset log_statement;
 reset optimizer_enable_ctas;
diff --git a/contrib/pax_storage/src/test/regress/expected/gporca_optimizer.out 
b/contrib/pax_storage/src/test/regress/expected/gporca_optimizer.out
index 1bc1e8f4040..2cdb519c35e 100644
--- a/contrib/pax_storage/src/test/regress/expected/gporca_optimizer.out
+++ b/contrib/pax_storage/src/test/regress/expected/gporca_optimizer.out
@@ -10677,7 +10677,7 @@ create table foo(a int, b int) distributed by (a);
 -- and log_min_duration_statement, they are the most obvious ones.
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 explain select count(*) from foo group by cube(a,b);
                                                       QUERY PLAN               
                                       
@@ -10715,7 +10715,7 @@ explain select count(*) from foo group by cube(a,b);
 (30 rows)
 
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_statement;
 reset log_min_duration_statement;
 -- TVF accepts ANYENUM, ANYELEMENT returns ANYENUM, ANYARRAY
@@ -10831,12 +10831,12 @@ explain select * from foo where b in ('1', '2');
 set optimizer_enable_ctas = off;
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 create table foo_ctas(a) as (select generate_series(1,10)) distributed by (a);
 LOG:  2023-08-17 15:11:09:454388 PDT,THD000,NOTICE,"Falling back to 
Postgres-based planner because GPORCA does not support the following feature: 
CTAS. Set optimizer_enable_ctas to on to enable CTAS with GPORCA",
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_min_duration_statement;
 reset log_statement;
 reset optimizer_enable_ctas;
diff --git a/contrib/pax_storage/src/test/regress/expected/rowsecurity.out 
b/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
index f1a68caafaf..60b9a3ed711 100644
--- a/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
+++ b/contrib/pax_storage/src/test/regress/expected/rowsecurity.out
@@ -6,7 +6,7 @@
 SET client_min_messages TO 'warning';
 SET gp_enable_relsize_collection to on;
 -- Pax filter will call the f_leak, then output is not right
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 DROP USER IF EXISTS regress_rls_alice;
 DROP USER IF EXISTS regress_rls_bob;
 DROP USER IF EXISTS regress_rls_carol;
@@ -4148,4 +4148,4 @@ CREATE POLICY p1 ON rls_tbl_force USING (c1 = 5) WITH 
CHECK (c1 < 5);
 CREATE POLICY p2 ON rls_tbl_force FOR SELECT USING (c1 = 8);
 CREATE POLICY p3 ON rls_tbl_force FOR UPDATE USING (c1 = 8) WITH CHECK (c1 >= 
5);
 CREATE POLICY p4 ON rls_tbl_force FOR DELETE USING (c1 = 8);
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git 
a/contrib/pax_storage/src/test/regress/expected/rowsecurity_optimizer.out 
b/contrib/pax_storage/src/test/regress/expected/rowsecurity_optimizer.out
index c26777d8711..c5229896acf 100644
--- a/contrib/pax_storage/src/test/regress/expected/rowsecurity_optimizer.out
+++ b/contrib/pax_storage/src/test/regress/expected/rowsecurity_optimizer.out
@@ -6,7 +6,7 @@
 SET client_min_messages TO 'warning';
 SET gp_enable_relsize_collection to on;
 -- Pax filter will call the f_leak, then output is not right
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 DROP USER IF EXISTS regress_rls_alice;
 DROP USER IF EXISTS regress_rls_bob;
 DROP USER IF EXISTS regress_rls_carol;
@@ -4162,4 +4162,4 @@ CREATE POLICY p1 ON rls_tbl_force USING (c1 = 5) WITH 
CHECK (c1 < 5);
 CREATE POLICY p2 ON rls_tbl_force FOR SELECT USING (c1 = 8);
 CREATE POLICY p3 ON rls_tbl_force FOR UPDATE USING (c1 = 8) WITH CHECK (c1 >= 
5);
 CREATE POLICY p4 ON rls_tbl_force FOR DELETE USING (c1 = 8);
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/src/test/regress/expected/select_views.out 
b/contrib/pax_storage/src/test/regress/expected/select_views.out
index 0865c2638db..5b87a438ca8 100644
--- a/contrib/pax_storage/src/test/regress/expected/select_views.out
+++ b/contrib/pax_storage/src/test/regress/expected/select_views.out
@@ -2,7 +2,7 @@
 -- SELECT_VIEWS
 -- test the views defined in CREATE_VIEWS
 --
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 SELECT * FROM street;
                 name                |                                          
                                                                                
                                                                                
         thepath                                                                
                                                                                
                                                                    |   cname   
 
------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------
@@ -1581,4 +1581,4 @@ NOTICE:  f_leak => hamburger  (seg0 slice1 
127.0.0.1:25432 pid=890)
 -- Cleanup.
 RESET SESSION AUTHORIZATION;
 DROP ROLE regress_alice;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git 
a/contrib/pax_storage/src/test/regress/expected/select_views_optimizer.out 
b/contrib/pax_storage/src/test/regress/expected/select_views_optimizer.out
index b4f5ce7faa7..e5691b5969a 100644
--- a/contrib/pax_storage/src/test/regress/expected/select_views_optimizer.out
+++ b/contrib/pax_storage/src/test/regress/expected/select_views_optimizer.out
@@ -2,7 +2,7 @@
 -- SELECT_VIEWS
 -- test the views defined in CREATE_VIEWS
 --
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 SELECT * FROM street;
                 name                |                                          
                                                                                
                                                                                
         thepath                                                                
                                                                                
                                                                    |   cname   
 
------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------
@@ -1589,4 +1589,4 @@ NOTICE:  f_leak => hamburger  (seg1 slice1 127.0.0.1:7003 
pid=16817)
 -- Cleanup.
 RESET SESSION AUTHORIZATION;
 DROP ROLE regress_alice;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/src/test/regress/expected/stats_ext.out 
b/contrib/pax_storage/src/test/regress/expected/stats_ext.out
index 1891db48e66..9de552fb0aa 100644
--- a/contrib/pax_storage/src/test/regress/expected/stats_ext.out
+++ b/contrib/pax_storage/src/test/regress/expected/stats_ext.out
@@ -4,7 +4,7 @@
 -- roughly the same estimates as in upstream.
 set gp_selectivity_damping_for_scans = off;
 set gp_selectivity_damping_for_joins = off;
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 -- Set constraint_exclusion to partition as same as upstream to make test pass.
 set constraint_exclusion to 'partition';
 --
@@ -3233,4 +3233,4 @@ NOTICE:  drop cascades to 2 other objects
 DETAIL:  drop cascades to table tststats.priv_test_tbl
 drop cascades to view tststats.priv_test_view
 DROP USER regress_stats_user1;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git 
a/contrib/pax_storage/src/test/regress/expected/stats_ext_optimizer.out 
b/contrib/pax_storage/src/test/regress/expected/stats_ext_optimizer.out
index 46a9c4b4273..a3818d9bf0c 100644
--- a/contrib/pax_storage/src/test/regress/expected/stats_ext_optimizer.out
+++ b/contrib/pax_storage/src/test/regress/expected/stats_ext_optimizer.out
@@ -4,7 +4,7 @@
 -- roughly the same estimates as in upstream.
 set gp_selectivity_damping_for_scans = off;
 set gp_selectivity_damping_for_joins = off;
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 -- Set constraint_exclusion to partition as same as upstream to make test pass.
 set constraint_exclusion to 'partition';
 --
@@ -3268,4 +3268,4 @@ NOTICE:  drop cascades to 2 other objects
 DETAIL:  drop cascades to table tststats.priv_test_tbl
 drop cascades to view tststats.priv_test_view
 DROP USER regress_stats_user1;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/src/test/regress/sql/autostats.sql 
b/contrib/pax_storage/src/test/regress/sql/autostats.sql
index 42831cda5f9..ce19afac413 100644
--- a/contrib/pax_storage/src/test/regress/sql/autostats.sql
+++ b/contrib/pax_storage/src/test/regress/sql/autostats.sql
@@ -11,7 +11,7 @@
 -- end_matchignore
 set gp_autostats_mode=on_change;
 set gp_autostats_on_change_threshold=9;
-set pax_enable_debug = false;
+set pax.enable_debug = false;
 set log_autostats=on;
 set client_min_messages=log;
 reset optimizer_trace_fallback;
diff --git a/contrib/pax_storage/src/test/regress/sql/cbdb_parallel.sql 
b/contrib/pax_storage/src/test/regress/sql/cbdb_parallel.sql
index ea47dfdcf60..78d2cb382dc 100644
--- a/contrib/pax_storage/src/test/regress/sql/cbdb_parallel.sql
+++ b/contrib/pax_storage/src/test/regress/sql/cbdb_parallel.sql
@@ -695,7 +695,7 @@ declare
  results1 RECORD;
 begin
   create table t_p(c1 int, c2 int) using pax  with(parallel_workers=8) 
distributed by(c1);
-  set pax_max_tuples_per_file to 131072;
+  set pax.max_tuples_per_file to 131072;
   insert into t_p select i, i+1 from generate_series(1, 10000000)i;
   analyze t_p;
   if ao_row then
diff --git a/contrib/pax_storage/src/test/regress/sql/gporca.sql 
b/contrib/pax_storage/src/test/regress/sql/gporca.sql
index 83100dd6c16..573c1726dfd 100644
--- a/contrib/pax_storage/src/test/regress/sql/gporca.sql
+++ b/contrib/pax_storage/src/test/regress/sql/gporca.sql
@@ -1977,11 +1977,11 @@ create table foo(a int, b int) distributed by (a);
 -- and log_min_duration_statement, they are the most obvious ones.
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 explain select count(*) from foo group by cube(a,b);
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_statement;
 reset log_min_duration_statement;
 
@@ -2054,11 +2054,11 @@ explain select * from foo where b in ('1', '2');
 set optimizer_enable_ctas = off;
 set log_statement='none';
 set log_min_duration_statement=-1;
-set pax_enable_debug to off;
+set pax.enable_debug to off;
 set client_min_messages='log';
 create table foo_ctas(a) as (select generate_series(1,10)) distributed by (a);
 reset client_min_messages;
-reset pax_enable_debug;
+reset pax.enable_debug;
 reset log_min_duration_statement;
 reset log_statement;
 reset optimizer_enable_ctas;
diff --git a/contrib/pax_storage/src/test/regress/sql/incremental_analyze.sql 
b/contrib/pax_storage/src/test/regress/sql/incremental_analyze.sql
index 5260b8b2e29..ed3ccdc7853 100644
--- a/contrib/pax_storage/src/test/regress/sql/incremental_analyze.sql
+++ b/contrib/pax_storage/src/test/regress/sql/incremental_analyze.sql
@@ -14,7 +14,7 @@ ALTER DATABASE incrementalanalyze SET lc_monetary TO 'C';
 \c incrementalanalyze
 DROP SCHEMA IF EXISTS incremental_analyze;
 CREATE SCHEMA incremental_analyze;
-set pax_enable_debug = false;
+set pax.enable_debug = false;
 -- end_ignore
 -- Test ANALYZE for different data types
 -- Case 1: Partitions have MCVs but after merge, none of the partition MCVs 
diff --git a/contrib/pax_storage/src/test/regress/sql/rowsecurity.sql 
b/contrib/pax_storage/src/test/regress/sql/rowsecurity.sql
index 648816bbf22..ba74fed3c00 100644
--- a/contrib/pax_storage/src/test/regress/sql/rowsecurity.sql
+++ b/contrib/pax_storage/src/test/regress/sql/rowsecurity.sql
@@ -8,7 +8,7 @@
 SET client_min_messages TO 'warning';
 SET gp_enable_relsize_collection to on;
 -- Pax filter will call the f_leak, then output is not right
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 
 DROP USER IF EXISTS regress_rls_alice;
 DROP USER IF EXISTS regress_rls_bob;
@@ -1901,4 +1901,4 @@ CREATE POLICY p1 ON rls_tbl_force USING (c1 = 5) WITH 
CHECK (c1 < 5);
 CREATE POLICY p2 ON rls_tbl_force FOR SELECT USING (c1 = 8);
 CREATE POLICY p3 ON rls_tbl_force FOR UPDATE USING (c1 = 8) WITH CHECK (c1 >= 
5);
 CREATE POLICY p4 ON rls_tbl_force FOR DELETE USING (c1 = 8);
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/src/test/regress/sql/select_views.sql 
b/contrib/pax_storage/src/test/regress/sql/select_views.sql
index 0ced30cea91..8270b99d44a 100644
--- a/contrib/pax_storage/src/test/regress/sql/select_views.sql
+++ b/contrib/pax_storage/src/test/regress/sql/select_views.sql
@@ -2,7 +2,7 @@
 -- SELECT_VIEWS
 -- test the views defined in CREATE_VIEWS
 --
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 SELECT * FROM street;
 
 SELECT name, #thepath FROM iexit ORDER BY name COLLATE "C", 2;
@@ -167,4 +167,4 @@ EXECUTE p2;         -- To be perform as a view without 
security-barrier
 -- Cleanup.
 RESET SESSION AUTHORIZATION;
 DROP ROLE regress_alice;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;
diff --git a/contrib/pax_storage/src/test/regress/sql/stats_ext.sql 
b/contrib/pax_storage/src/test/regress/sql/stats_ext.sql
index a6d1362da77..2fa5a327e3f 100644
--- a/contrib/pax_storage/src/test/regress/sql/stats_ext.sql
+++ b/contrib/pax_storage/src/test/regress/sql/stats_ext.sql
@@ -6,7 +6,7 @@
 -- roughly the same estimates as in upstream.
 set gp_selectivity_damping_for_scans = off;
 set gp_selectivity_damping_for_joins = off;
-set pax_enable_sparse_filter to off;
+set pax.enable_sparse_filter to off;
 -- Set constraint_exclusion to partition as same as upstream to make test pass.
 set constraint_exclusion to 'partition';
 
@@ -1644,4 +1644,4 @@ DROP FUNCTION op_leak(int, int);
 RESET SESSION AUTHORIZATION;
 DROP SCHEMA tststats CASCADE;
 DROP USER regress_stats_user1;
-reset pax_enable_sparse_filter;
+reset pax.enable_sparse_filter;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to