From 85a22b451c69681065e60f4f921a5b35a9ee67d7 Mon Sep 17 00:00:00 2001 From: z00848344 Date: Tue, 20 Aug 2024 14:58:51 +0800 Subject: [PATCH 1/4] On branch io_limits Your branch is up to date with 'origin/io_limits'. Changes to be committed: modified: src/bin/gs_guc/cluster_guc.conf --- src/bin/gs_guc/cluster_guc.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/gs_guc/cluster_guc.conf b/src/bin/gs_guc/cluster_guc.conf index 9977775a7..a704437c0 100755 --- a/src/bin/gs_guc/cluster_guc.conf +++ b/src/bin/gs_guc/cluster_guc.conf @@ -318,6 +318,7 @@ ignore_system_indexes|bool|0,0|NULL|When ignore_system_indexes set to on, it is sql_ignore_strategy|string|0,0|NULL|NULL| parctl_min_cost|int|-1,2147483647|NULL|NULL| io_control_unit|int|1000,1000000|NULL|NULL| +io_limits|int|0,1073741823|NULL|NULL| gin_pending_list_limit|int|64,2147483647|kB|NULL| intervalstyle|enum|postgres,postgres_verbose,sql_standard,iso_8601,a|NULL|NULL| join_collapse_limit|int|1,2147483647|NULL|NULL| From 46a761a40c2edc17ce5e3258ac3ec0cdc9757d27 Mon Sep 17 00:00:00 2001 From: z00848344 Date: Fri, 23 Aug 2024 10:08:38 +0800 Subject: [PATCH 2/4] On branch pass_min_max Your branch is up to date with 'origin/pass_min_max'. Changes to be committed: modified: src/bin/gs_guc/cluster_guc.conf modified: src/common/backend/utils/misc/guc/guc_security.cpp --- src/bin/gs_guc/cluster_guc.conf | 1 + .../backend/utils/misc/guc/guc_security.cpp | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/bin/gs_guc/cluster_guc.conf b/src/bin/gs_guc/cluster_guc.conf index a704437c0..c07dd9ae9 100755 --- a/src/bin/gs_guc/cluster_guc.conf +++ b/src/bin/gs_guc/cluster_guc.conf @@ -319,6 +319,7 @@ sql_ignore_strategy|string|0,0|NULL|NULL| parctl_min_cost|int|-1,2147483647|NULL|NULL| io_control_unit|int|1000,1000000|NULL|NULL| io_limits|int|0,1073741823|NULL|NULL| +io_priority|enum|none,low,medium,high|NULL|NULL| gin_pending_list_limit|int|64,2147483647|kB|NULL| intervalstyle|enum|postgres,postgres_verbose,sql_standard,iso_8601,a|NULL|NULL| join_collapse_limit|int|1,2147483647|NULL|NULL| diff --git a/src/common/backend/utils/misc/guc/guc_security.cpp b/src/common/backend/utils/misc/guc/guc_security.cpp index 05628f159..cb51b95c3 100755 --- a/src/common/backend/utils/misc/guc/guc_security.cpp +++ b/src/common/backend/utils/misc/guc/guc_security.cpp @@ -161,6 +161,8 @@ static bool check_ssl(bool* newval, void** extra, GucSource source); /* Database Security: Support password complexity */ static bool check_int_parameter(int* newval, void** extra, GucSource source); static bool check_ssl_ciphers(char** newval, void** extra, GucSource source); +static bool check_password_min_length(int* newval, void** extra, GucSource source); +static bool check_password_max_length(int* newval, void** extra, GucSource source); static void InitSecurityConfigureNamesBool(); static void InitSecurityConfigureNamesInt(); @@ -625,7 +627,7 @@ static void InitSecurityConfigureNamesInt() 8, 6, MAX_PASSWORD_LENGTH, - check_int_parameter, + check_password_min_length, NULL, NULL}, @@ -640,7 +642,7 @@ static void InitSecurityConfigureNamesInt() 32, 6, MAX_PASSWORD_LENGTH, - check_int_parameter, + check_password_max_length, NULL, NULL}, @@ -1447,3 +1449,18 @@ static bool check_ssl_ciphers(char** newval, void** extra, GucSource) return true; } +static bool check_password_min_length(int* newval, void** extra, GucSource source) +{ + if (*newval >= 0 && *newval <= u_sess->attr.attr_security.Password_max_length) { + return true; + } + return false; +} + +static bool check_password_max_length(int* newval, void** extra, GucSource source) +{ + if (*newval >= 0 && *newval >= u_sess->attr.attr_security.Password_min_length) { + return true; + } + return false; +} \ No newline at end of file From 5a8afb13ca38cf5b1bdf0b6e3a09f904ecce7da5 Mon Sep 17 00:00:00 2001 From: z00848344 Date: Wed, 4 Sep 2024 17:29:57 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3run=5Fha=5Fsingle.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On branch hacheck_single_double Your branch is ahead of 'origin/hacheck_single_double' by 1 commit. Changes to be committed: modified: src/test/ha/ha_schedule_single --- src/test/ha/ha_schedule_single | 42 +++++++++---------- src/test/ha/pgxc_psd_single.py | 7 ++++ .../datareplica_cstore_big_cu.sh | 4 +- .../datareplica_cstore_rstore.sh | 3 +- .../datareplica_with_xlogreplica_status.sh | 1 + .../llt_single/disable_stream_replication.sh | 3 +- src/test/ha/testcase/llt_single/xlog_redo.sh | 4 +- .../failover_copy_col_rewind_standby.sh | 2 +- 8 files changed, 35 insertions(+), 31 deletions(-) diff --git a/src/test/ha/ha_schedule_single b/src/test/ha/ha_schedule_single index 407394e6c..7bc9163cd 100644 --- a/src/test/ha/ha_schedule_single +++ b/src/test/ha/ha_schedule_single @@ -5,7 +5,7 @@ data_replication_single/datareplica_cstore_build data_replication_single/datareplica_cstore_catchup data_replication_single/datareplica_cstore_multi_catchup data_replication_single/datareplica_cstore_slow_catchup -data_replication_single/datareplica_cstore_failover +#data_replication_single/datareplica_cstore_failover data_replication_single/datareplica_cstore_rstore data_replication_single/datareplica_failover_consistency data_replication_single/datareplica_with_xlogreplica_status @@ -18,33 +18,33 @@ data_replication_single/switchover dataqueue_single/dataqueue_concurrent_many_tables dataqueue_single/dataqueue_concurrent_one_table dataqueue_single/dataqueue_data_larger_than_queuesize -secondary_single/copy_ks_copy_kp_ss_failover +#secondary_single/copy_ks_copy_kp_ss_failover #secondary_single/dummy_abormal_failover -secondary_single/dummy_slot_choose_startpoint -secondary_single/dummystandby_no_catchup -secondary_single/failover_switchover -secondary_single/kill_ds_start_ds_ss_failover -secondary_single/kill_ds_with_masterstandby_normal -secondary_single/kill_ds_with_no_standby -secondary_single/standby_failover_consistency_check -secondary_single/standby_failover -secondary_single/standby_failover_connect_standby -secondary_single/dummystandby_crc +#secondary_single/dummy_slot_choose_startpoint +#secondary_single/dummystandby_no_catchup +#secondary_single/failover_switchover +#secondary_single/kill_ds_start_ds_ss_failover +#secondary_single/kill_ds_with_masterstandby_normal +#secondary_single/kill_ds_with_no_standby +#secondary_single/standby_failover_consistency_check +#secondary_single/standby_failover +#secondary_single/standby_failover_connect_standby +#secondary_single/dummystandby_crc slot_single/replication_slot -catchup_single/full_catchup +#catchup_single/full_catchup catchup_single/incremental_catchup catchup_single/switchover_fast -pg_rewind_single/failover_rewind_standby +#pg_rewind_single/failover_rewind_standby pg_rewind_single/failover_rewind_primary -pg_rewind_single/failover_copy_row_rewind_standby -pg_rewind_single/failover_copy_col_rewind_standby -pg_rewind_single/failover_copy_row_vacfull_rewind_standby -pg_rewind_single/failover_copy_row_vacuum_rewind_standby -pg_rewind_single/failover_full_incremental_build +#pg_rewind_single/failover_copy_row_rewind_standby +#pg_rewind_single/failover_copy_col_rewind_standby +#pg_rewind_single/failover_copy_row_vacfull_rewind_standby +#pg_rewind_single/failover_copy_row_vacuum_rewind_standby +#pg_rewind_single/failover_full_incremental_build pg_rewind_single/buildquery_normal -pg_rewind_single/gs_rewind_llt +#pg_rewind_single/gs_rewind_llt #pg_rewind_single/enhance_rewind_test -pg_rewind_single/rewind_primary_connect_dummy +#pg_rewind_single/rewind_primary_connect_dummy llt_single/disable_stream_replication llt_single/validate_pool_connection llt_single/walreplica_rcvbuffer diff --git a/src/test/ha/pgxc_psd_single.py b/src/test/ha/pgxc_psd_single.py index d44f79480..879fe9379 100644 --- a/src/test/ha/pgxc_psd_single.py +++ b/src/test/ha/pgxc_psd_single.py @@ -261,11 +261,18 @@ class Pterodb(): print datanode_cmd os.system(datanode_cmd) + datanode_cmd = g_valgrind + install_path + "/bin/gs_ctl" + " build "+ " -D " + self.data_dir + "/" + self.dname_prefix + str(i) + "_standby" + " > " + self.data_dir + "/" + self.dname_prefix + str(i) +"_standby"+ "/logdn" + str(i) + ".log 2>&1 &" + print datanode_cmd + os.system(datanode_cmd) time.sleep(3) datanode_cmd = g_valgrind + install_path + "/bin/gaussdb --single_node" + " -M standby -R " + " -D " + self.data_dir + "/" + self.dname_prefix + str(i) + "_dummystandby" + " > " + self.data_dir + "/" + self.dname_prefix + str(i) +"_dummystandby"+ "/logdn" + str(i) + ".log 2>&1 &" print datanode_cmd os.system(datanode_cmd) + + datanode_cmd = g_valgrind + install_path + "/bin/gs_ctl" + " build " + " -D " + self.data_dir + "/" + self.dname_prefix + str(i) + "_dummystandby" + " > " + self.data_dir + "/" + self.dname_prefix + str(i) +"_dummystandby"+ "/logdn" + str(i) + ".log 2>&1 &" + print datanode_cmd + os.system(datanode_cmd) time.sleep(1) def __stop_server(self): diff --git a/src/test/ha/testcase/data_replication_single/datareplica_cstore_big_cu.sh b/src/test/ha/testcase/data_replication_single/datareplica_cstore_big_cu.sh index 67ab89ff8..4b7c41b41 100644 --- a/src/test/ha/testcase/data_replication_single/datareplica_cstore_big_cu.sh +++ b/src/test/ha/testcase/data_replication_single/datareplica_cstore_big_cu.sh @@ -25,7 +25,7 @@ fi cstore_rawdata_lines=15000 #create table -gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column) distribute by hash (c_d_id);" +gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column);" gsql -d $db -p $dn1_primary_port -c "set enable_data_replicate=on; copy big_cu_table from '$scripts_dir/data/customer0_0' with csv null '';" @@ -72,7 +72,7 @@ fi cstore_rawdata_lines=15000 #create table -gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column) distribute by hash (c_d_id);" +gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column);" gsql -d $db -p $dn1_primary_port -c "set enable_data_replicate=on; copy big_cu_table from '$scripts_dir/data/customer0_0' with csv null '';" diff --git a/src/test/ha/testcase/data_replication_single/datareplica_cstore_rstore.sh b/src/test/ha/testcase/data_replication_single/datareplica_cstore_rstore.sh index 3455b2203..d6d897ef8 100644 --- a/src/test/ha/testcase/data_replication_single/datareplica_cstore_rstore.sh +++ b/src/test/ha/testcase/data_replication_single/datareplica_cstore_rstore.sh @@ -29,8 +29,7 @@ gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists mpp_test2; CREATE TABL , L_SHIPMODE CHAR(10) , L_COMMENT VARCHAR(44) ) - with (orientation = column) - distribute by hash(L_ORDERKEY);" + with (orientation = column);" #copy data(25M) to standby 4 times gsql -d $db -p $dn1_primary_port -c "set enable_data_replicate=on; copy mpp_test1 from '$scripts_dir/data/data5';" & diff --git a/src/test/ha/testcase/data_replication_single/datareplica_with_xlogreplica_status.sh b/src/test/ha/testcase/data_replication_single/datareplica_with_xlogreplica_status.sh index c8ba9989b..8b6dae587 100644 --- a/src/test/ha/testcase/data_replication_single/datareplica_with_xlogreplica_status.sh +++ b/src/test/ha/testcase/data_replication_single/datareplica_with_xlogreplica_status.sh @@ -61,6 +61,7 @@ fi function tear_down() { sleep 1 +start_primary gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists cstore_copy_t1;" } diff --git a/src/test/ha/testcase/llt_single/disable_stream_replication.sh b/src/test/ha/testcase/llt_single/disable_stream_replication.sh index 3bc9a74f7..a39fc15e1 100644 --- a/src/test/ha/testcase/llt_single/disable_stream_replication.sh +++ b/src/test/ha/testcase/llt_single/disable_stream_replication.sh @@ -32,8 +32,7 @@ gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists mpp_test2; CREATE TABL , L_SHIPMODE CHAR(10) , L_COMMENT VARCHAR(44) ) - with (orientation = column) - distribute by hash(L_ORDERKEY);" + with (orientation = column);" gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists mpp_test3;" #data replication test for row store diff --git a/src/test/ha/testcase/llt_single/xlog_redo.sh b/src/test/ha/testcase/llt_single/xlog_redo.sh index 7b5843016..319d8482b 100644 --- a/src/test/ha/testcase/llt_single/xlog_redo.sh +++ b/src/test/ha/testcase/llt_single/xlog_redo.sh @@ -26,9 +26,7 @@ gsql -d $db -p $dn1_primary_port -c "CREATE unlogged TABLE table_replication_12 , R_NAME CHAR(25) NOT NULL , R_COMMENT VARCHAR(152) ) - with (orientation = column) - distribute by hash(R_REGIONKEY) - ; + with (orientation = column); vacuum full table_replication_12;" gsql -d $db -p $dn1_primary_port -c "checkpoint;" diff --git a/src/test/ha/testcase/pg_rewind_single/failover_copy_col_rewind_standby.sh b/src/test/ha/testcase/pg_rewind_single/failover_copy_col_rewind_standby.sh index bec5aedb9..8f3602c44 100644 --- a/src/test/ha/testcase/pg_rewind_single/failover_copy_col_rewind_standby.sh +++ b/src/test/ha/testcase/pg_rewind_single/failover_copy_col_rewind_standby.sh @@ -9,7 +9,7 @@ check_instance cstore_rawdata_lines=15000 #create table on cn, dn_primary, dn_standby -gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column) distribute by hash (c_d_id);" +gsql -d $db -p $dn1_primary_port -c "DROP TABLE if exists big_cu_table; create table big_cu_table (c_id bigint NOT NULL,c_d_id int NOT NULL,c_w_id int NOT NULL,c_first varchar(16) NOT NULL,c_middle varchar NOT NULL,c_last TEXT NOT NULL, c_street_1 varchar(20) NOT NULL,c_street_2 varchar(20) NOT NULL,c_city varchar(20) NOT NULL,c_state char(2) NOT NULL,c_zip char(9) NOT NULL,c_phone char(16) NOT NULL, c_since timestamp NOT NULL,c_credit char(2) NOT NULL, c_credit_lim numeric(12,2) NOT NULL, c_discount numeric(4,4) NOT NULL,c_balance numeric(12,2) NOT NULL,c_ytd_payment numeric(12,2) NOT NULL,c_payment_cnt int NOT NULL,c_delivery_cnt int NOT NULL, c_data varchar(500) NOT NULL , partial cluster key(c_id)) with (orientation=column);" #copy data to primary stop_primary From 581a095d50b53ca230b94ecc9f1bb33f64881834 Mon Sep 17 00:00:00 2001 From: z00848344 Date: Mon, 9 Sep 2024 19:23:18 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpassword=5Fmin=5Flength?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA999=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/utils/misc/guc/guc_security.cpp | 22 ++----------------- .../process/postmaster/postmaster.cpp | 12 ++++++++++ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/common/backend/utils/misc/guc/guc_security.cpp b/src/common/backend/utils/misc/guc/guc_security.cpp index cb51b95c3..23ece64b5 100755 --- a/src/common/backend/utils/misc/guc/guc_security.cpp +++ b/src/common/backend/utils/misc/guc/guc_security.cpp @@ -161,8 +161,6 @@ static bool check_ssl(bool* newval, void** extra, GucSource source); /* Database Security: Support password complexity */ static bool check_int_parameter(int* newval, void** extra, GucSource source); static bool check_ssl_ciphers(char** newval, void** extra, GucSource source); -static bool check_password_min_length(int* newval, void** extra, GucSource source); -static bool check_password_max_length(int* newval, void** extra, GucSource source); static void InitSecurityConfigureNamesBool(); static void InitSecurityConfigureNamesInt(); @@ -627,7 +625,7 @@ static void InitSecurityConfigureNamesInt() 8, 6, MAX_PASSWORD_LENGTH, - check_password_min_length, + check_int_parameter, NULL, NULL}, @@ -642,7 +640,7 @@ static void InitSecurityConfigureNamesInt() 32, 6, MAX_PASSWORD_LENGTH, - check_password_max_length, + check_int_parameter, NULL, NULL}, @@ -1448,19 +1446,3 @@ static bool check_ssl_ciphers(char** newval, void** extra, GucSource) pfree_ext(ciphers_list); return true; } - -static bool check_password_min_length(int* newval, void** extra, GucSource source) -{ - if (*newval >= 0 && *newval <= u_sess->attr.attr_security.Password_max_length) { - return true; - } - return false; -} - -static bool check_password_max_length(int* newval, void** extra, GucSource source) -{ - if (*newval >= 0 && *newval >= u_sess->attr.attr_security.Password_min_length) { - return true; - } - return false; -} \ No newline at end of file diff --git a/src/gausskernel/process/postmaster/postmaster.cpp b/src/gausskernel/process/postmaster/postmaster.cpp index ded45770e..cbe8e29dd 100644 --- a/src/gausskernel/process/postmaster/postmaster.cpp +++ b/src/gausskernel/process/postmaster/postmaster.cpp @@ -66,6 +66,7 @@ */ #include "postgres.h" #include "knl/knl_variable.h" +#include "knl/knl_guc/knl_session_attr_security.h" #ifdef ENABLE_BBOX #include "gs_bbox.h" #endif @@ -3593,6 +3594,16 @@ static void CheckShareStorageConfigConflicts(void) } } +static void CheckPasswordLenConfigConflics(void) +{ + if (u_sess->attr.attr_security.Password_min_length > u_sess->attr.attr_security.Password_max_length) { + ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("password_min_length (%d) should be no more than password_max_length (%d).", + u_sess->attr.attr_security.Password_min_length, + u_sess->attr.attr_security.Password_max_length))); + } +} + /* * Check for invalid combinations of GUC settings during starting up. */ @@ -3656,6 +3667,7 @@ static void CheckGUCConflicts(void) } CheckExtremeRtoGUCConflicts(); CheckShareStorageConfigConflicts(); + CheckPasswordLenConfigConflics(); #if ((defined(USE_SSL)) && (defined(USE_TASSL))) CheckSSLConflict(); #endif