|
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 -E UTF-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");
|
|
0 commit comments