@@ -118,7 +118,7 @@ def self.single_instance_setup(pool_name, pool_size, pool_mode="transaction", lb
118118 end
119119 end
120120
121- def self . single_shard_setup ( pool_name , pool_size , pool_mode = "transaction" , lb_mode = "random" , log_level = "info" )
121+ def self . single_shard_setup ( pool_name , pool_size , pool_mode = "transaction" , lb_mode = "random" , log_level = "info" , pool_settings = { } )
122122 user = {
123123 "password" => "sharding_user" ,
124124 "pool_size" => pool_size ,
@@ -134,28 +134,32 @@ def self.single_shard_setup(pool_name, pool_size, pool_mode="transaction", lb_mo
134134 replica1 = PgInstance . new ( 8432 , user [ "username" ] , user [ "password" ] , "shard0" )
135135 replica2 = PgInstance . new ( 9432 , user [ "username" ] , user [ "password" ] , "shard0" )
136136
137+ pool_config = {
138+ "default_role" => "any" ,
139+ "pool_mode" => pool_mode ,
140+ "load_balancing_mode" => lb_mode ,
141+ "primary_reads_enabled" => false ,
142+ "query_parser_enabled" => false ,
143+ "sharding_function" => "pg_bigint_hash" ,
144+ "shards" => {
145+ "0" => {
146+ "database" => "shard0" ,
147+ "servers" => [
148+ [ "localhost" , primary . port . to_s , "primary" ] ,
149+ [ "localhost" , replica0 . port . to_s , "replica" ] ,
150+ [ "localhost" , replica1 . port . to_s , "replica" ] ,
151+ [ "localhost" , replica2 . port . to_s , "replica" ]
152+ ]
153+ } ,
154+ } ,
155+ "users" => { "0" => user }
156+ }
157+
158+ pool_config = pool_config . merge ( pool_settings )
159+
137160 # Main proxy configs
138161 pgcat_cfg [ "pools" ] = {
139- "#{ pool_name } " => {
140- "default_role" => "any" ,
141- "pool_mode" => pool_mode ,
142- "load_balancing_mode" => lb_mode ,
143- "primary_reads_enabled" => false ,
144- "query_parser_enabled" => false ,
145- "sharding_function" => "pg_bigint_hash" ,
146- "shards" => {
147- "0" => {
148- "database" => "shard0" ,
149- "servers" => [
150- [ "localhost" , primary . port . to_s , "primary" ] ,
151- [ "localhost" , replica0 . port . to_s , "replica" ] ,
152- [ "localhost" , replica1 . port . to_s , "replica" ] ,
153- [ "localhost" , replica2 . port . to_s , "replica" ]
154- ]
155- } ,
156- } ,
157- "users" => { "0" => user }
158- }
162+ "#{ pool_name } " => pool_config ,
159163 }
160164 pgcat_cfg [ "general" ] [ "port" ] = pgcat . port
161165 pgcat . update_config ( pgcat_cfg )
0 commit comments