|
50 | 50 | # while we are here, also exercise --text-search-config and --set options
|
51 | 51 | command_ok(
|
52 | 52 | [
|
53 |
| -'initdb', |
54 |
| -'--no-sync', |
| 53 | +'initdb','--no-sync', |
55 | 54 | '--text-search-config'=>'german',
|
56 | 55 | '--set'=>'default_text_search_config=german',
|
57 | 56 | '--waldir'=>$xlogdir,
|
|
101 | 100 | # Init a new db with group access
|
102 | 101 | my$datadir_group ="$tempdir/data_group";
|
103 | 102 |
|
104 |
| -command_ok( |
105 |
| -['initdb','-g',$datadir_group ], |
| 103 | +command_ok(['initdb','--allow-group-access',$datadir_group ], |
106 | 104 | 'successful creation with group access');
|
107 | 105 |
|
108 | 106 | ok(check_mode_recursive($datadir_group, 0750, 0640),
|
|
114 | 112 | if ($ENV{with_icu}eq'yes')
|
115 | 113 | {
|
116 | 114 | command_fails_like(
|
117 |
| -['initdb','--no-sync','--locale-provider=icu',"$tempdir/data2" ], |
| 115 | +[ |
| 116 | +'initdb','--no-sync', |
| 117 | +'--locale-provider'=>'icu', |
| 118 | +"$tempdir/data2" |
| 119 | +], |
118 | 120 | qr/initdb: error: locale must be specified if provider is icu/,
|
119 | 121 | 'locale provider ICU requires --icu-locale');
|
120 | 122 |
|
121 | 123 | command_ok(
|
122 | 124 | [
|
123 | 125 | 'initdb','--no-sync',
|
124 |
| -'--locale-provider=icu','--icu-locale=en', |
| 126 | +'--locale-provider'=>'icu', |
| 127 | +'--icu-locale'=>'en', |
125 | 128 | "$tempdir/data3"
|
126 | 129 | ],
|
127 | 130 | 'option --icu-locale');
|
128 | 131 |
|
129 | 132 | command_like(
|
130 | 133 | [
|
131 | 134 | 'initdb','--no-sync',
|
132 |
| -'-A'=>'trust', |
133 |
| -'--locale-provider=icu','--locale=und', |
134 |
| -'--lc-collate=C','--lc-ctype=C', |
135 |
| -'--lc-messages=C','--lc-numeric=C', |
136 |
| -'--lc-monetary=C','--lc-time=C', |
| 135 | +'--auth'=>'trust', |
| 136 | +'--locale-provider'=>'icu', |
| 137 | +'--locale'=>'und', |
| 138 | +'--lc-collate'=>'C', |
| 139 | +'--lc-ctype'=>'C', |
| 140 | +'--lc-messages'=>'C', |
| 141 | +'--lc-numeric'=>'C', |
| 142 | +'--lc-monetary'=>'C', |
| 143 | +'--lc-time'=>'C', |
137 | 144 | "$tempdir/data4"
|
138 | 145 | ],
|
139 | 146 | qr/^\s+default collation:\s+und\n/ms,
|
|
142 | 149 | command_fails_like(
|
143 | 150 | [
|
144 | 151 | 'initdb','--no-sync',
|
145 |
| -'--locale-provider=icu','--icu-locale=@colNumeric=lower', |
| 152 | +'--locale-provider'=>'icu', |
| 153 | +'--icu-locale'=>'@colNumeric=lower', |
146 | 154 | "$tempdir/dataX"
|
147 | 155 | ],
|
148 | 156 | qr/could not open collator for locale/,
|
|
151 | 159 | command_fails_like(
|
152 | 160 | [
|
153 | 161 | 'initdb','--no-sync',
|
154 |
| -'--locale-provider=icu','--encoding=SQL_ASCII', |
155 |
| -'--icu-locale=en',"$tempdir/dataX" |
| 162 | +'--locale-provider'=>'icu', |
| 163 | +'--encoding'=>'SQL_ASCII', |
| 164 | +'--icu-locale'=>'en', |
| 165 | +"$tempdir/dataX" |
156 | 166 | ],
|
157 | 167 | qr/error: encoding mismatch/,
|
158 | 168 | 'fails for encoding not supported by ICU');
|
159 | 169 |
|
160 | 170 | command_fails_like(
|
161 | 171 | [
|
162 | 172 | 'initdb','--no-sync',
|
163 |
| -'--locale-provider=icu','--icu-locale=nonsense-nowhere', |
| 173 | +'--locale-provider'=>'icu', |
| 174 | +'--icu-locale'=>'nonsense-nowhere', |
164 | 175 | "$tempdir/dataX"
|
165 | 176 | ],
|
166 | 177 | qr/error: locale "nonsense-nowhere" has unknown language "nonsense"/,
|
|
169 | 180 | command_fails_like(
|
170 | 181 | [
|
171 | 182 | 'initdb','--no-sync',
|
172 |
| -'--locale-provider=icu','--icu-locale=@colNumeric=lower', |
| 183 | +'--locale-provider'=>'icu', |
| 184 | +'--icu-locale'=>'@colNumeric=lower', |
173 | 185 | "$tempdir/dataX"
|
174 | 186 | ],
|
175 | 187 | qr/could not open collator for locale "und-u-kn-lower": U_ILLEGAL_ARGUMENT_ERROR/,
|
|
178 | 190 | else
|
179 | 191 | {
|
180 | 192 | command_fails(
|
181 |
| -['initdb','--no-sync','--locale-provider=icu',"$tempdir/data2" ], |
| 193 | +[ |
| 194 | +'initdb','--no-sync', |
| 195 | +'--locale-provider'=>'icu', |
| 196 | +"$tempdir/data2" |
| 197 | +], |
182 | 198 | 'locale provider ICU fails since no ICU support');
|
183 | 199 | }
|
184 | 200 |
|
185 | 201 | command_fails(
|
186 |
| -['initdb','--no-sync','--locale-provider=builtin',"$tempdir/data6" ], |
| 202 | +[ |
| 203 | +'initdb','--no-sync', |
| 204 | +'--locale-provider'=>'builtin', |
| 205 | +"$tempdir/data6" |
| 206 | +], |
187 | 207 | 'locale provider builtin fails without --locale');
|
188 | 208 |
|
189 | 209 | command_ok(
|
190 | 210 | [
|
191 | 211 | 'initdb','--no-sync',
|
192 |
| -'--locale-provider=builtin','--locale=C', |
| 212 | +'--locale-provider'=>'builtin', |
| 213 | +'--locale'=>'C', |
193 | 214 | "$tempdir/data7"
|
194 | 215 | ],
|
195 | 216 | 'locale provider builtin with --locale');
|
196 | 217 |
|
197 | 218 | command_ok(
|
198 | 219 | [
|
199 | 220 | 'initdb','--no-sync',
|
200 |
| -'--locale-provider=builtin','-E UTF-8', |
201 |
| -'--lc-collate=C','--lc-ctype=C', |
202 |
| -'--builtin-locale=C.UTF-8',"$tempdir/data8" |
| 221 | +'--locale-provider'=>'builtin', |
| 222 | +'--encoding'=>'UTF-8', |
| 223 | +'--lc-collate'=>'C', |
| 224 | +'--lc-ctype'=>'C', |
| 225 | +'--builtin-locale'=>'C.UTF-8', |
| 226 | +"$tempdir/data8" |
203 | 227 | ],
|
204 |
| -'locale provider builtin with -EUTF-8 --builtin-locale=C.UTF-8'); |
| 228 | +'locale provider builtin with --encoding=UTF-8 --builtin-locale=C.UTF-8'); |
205 | 229 |
|
206 | 230 | command_fails(
|
207 | 231 | [
|
208 | 232 | 'initdb','--no-sync',
|
209 |
| -'--locale-provider=builtin','-E SQL_ASCII', |
210 |
| -'--lc-collate=C','--lc-ctype=C', |
211 |
| -'--builtin-locale=C.UTF-8',"$tempdir/data9" |
| 233 | +'--locale-provider'=>'builtin', |
| 234 | +'--encoding'=>'SQL_ASCII', |
| 235 | +'--lc-collate'=>'C', |
| 236 | +'--lc-ctype'=>'C', |
| 237 | +'--builtin-locale'=>'C.UTF-8', |
| 238 | +"$tempdir/data9" |
212 | 239 | ],
|
213 | 240 | 'locale provider builtin with --builtin-locale=C.UTF-8 fails for SQL_ASCII'
|
214 | 241 | );
|
215 | 242 |
|
216 | 243 | command_ok(
|
217 | 244 | [
|
218 | 245 | 'initdb','--no-sync',
|
219 |
| -'--locale-provider=builtin','--lc-ctype=C', |
220 |
| -'--locale=C',"$tempdir/data10" |
| 246 | +'--locale-provider'=>'builtin', |
| 247 | +'--lc-ctype'=>'C', |
| 248 | +'--locale'=>'C', |
| 249 | +"$tempdir/data10" |
221 | 250 | ],
|
222 | 251 | 'locale provider builtin with --lc-ctype');
|
223 | 252 |
|
224 | 253 | command_fails(
|
225 | 254 | [
|
226 | 255 | 'initdb','--no-sync',
|
227 |
| -'--locale-provider=builtin','--icu-locale=en', |
| 256 | +'--locale-provider'=>'builtin', |
| 257 | +'--icu-locale'=>'en', |
228 | 258 | "$tempdir/dataX"
|
229 | 259 | ],
|
230 | 260 | 'fails for locale provider builtin with ICU locale');
|
231 | 261 |
|
232 | 262 | command_fails(
|
233 | 263 | [
|
234 | 264 | 'initdb','--no-sync',
|
235 |
| -'--locale-provider=builtin','--icu-rules=""', |
| 265 | +'--locale-provider'=>'builtin', |
| 266 | +'--icu-rules'=>'""', |
236 | 267 | "$tempdir/dataX"
|
237 | 268 | ],
|
238 | 269 | 'fails for locale provider builtin with ICU rules');
|
239 | 270 |
|
240 | 271 | command_fails(
|
241 |
| -['initdb','--no-sync','--locale-provider=xyz',"$tempdir/dataX" ], |
| 272 | +[ |
| 273 | +'initdb','--no-sync', |
| 274 | +'--locale-provider'=>'xyz', |
| 275 | +"$tempdir/dataX" |
| 276 | +], |
242 | 277 | 'fails for invalid locale provider');
|
243 | 278 |
|
244 | 279 | command_fails(
|
245 | 280 | [
|
246 | 281 | 'initdb','--no-sync',
|
247 |
| -'--locale-provider=libc','--icu-locale=en', |
| 282 | +'--locale-provider'=>'libc', |
| 283 | +'--icu-locale'=>'en', |
248 | 284 | "$tempdir/dataX"
|
249 | 285 | ],
|
250 | 286 | 'fails for invalid option combination');
|
251 | 287 |
|
252 | 288 | command_fails(
|
253 |
| -['initdb','--no-sync','--set'=>'foo=bar',"$tempdir/dataX" ], |
| 289 | +[ |
| 290 | +'initdb','--no-sync', |
| 291 | +'--set'=>'foo=bar', |
| 292 | +"$tempdir/dataX" |
| 293 | +], |
254 | 294 | 'fails for invalid --set option');
|
255 | 295 |
|
256 |
| -# Make sure multiple invocations of -c parameters are added case insensitive |
| 296 | +# Make sure multiple invocations of --set parameters are added case |
| 297 | +# insensitive. |
257 | 298 | command_ok(
|
258 | 299 | [
|
259 |
| -'initdb','-cwork_mem=128', |
260 |
| -'-cWork_Mem=256','-cWORK_MEM=512', |
| 300 | +'initdb','--no-sync', |
| 301 | +'--set'=>'work_mem=128', |
| 302 | +'--set'=>'Work_Mem=256', |
| 303 | +'--set'=>'WORK_MEM=512', |
261 | 304 | "$tempdir/dataY"
|
262 | 305 | ],
|
263 |
| -'multiple -c options with different case'); |
| 306 | +'multiple --set options with different case'); |
264 | 307 |
|
265 | 308 | my$conf = slurp_file("$tempdir/dataY/postgresql.conf");
|
266 | 309 | ok($conf !~qr/^WORK_MEM =/m,"WORK_MEM should not be configured");
|
|