@@ -118,7 +118,7 @@ def self.single_instance_setup(pool_name, pool_size, pool_mode="transaction", lb
118
118
end
119
119
end
120
120
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 = { } )
122
122
user = {
123
123
"password" => "sharding_user" ,
124
124
"pool_size" => pool_size ,
@@ -134,28 +134,32 @@ def self.single_shard_setup(pool_name, pool_size, pool_mode="transaction", lb_mo
134
134
replica1 = PgInstance . new ( 8432 , user [ "username" ] , user [ "password" ] , "shard0" )
135
135
replica2 = PgInstance . new ( 9432 , user [ "username" ] , user [ "password" ] , "shard0" )
136
136
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
+
137
160
# Main proxy configs
138
161
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 ,
159
163
}
160
164
pgcat_cfg [ "general" ] [ "port" ] = pgcat . port
161
165
pgcat . update_config ( pgcat_cfg )
0 commit comments