- Notifications
You must be signed in to change notification settings - Fork5
Commite05b866
committed
Split PGC_S_DEFAULT into two values, for true boot_val vs computed default.
Failure to distinguish these cases is the real cause behind the recentreports of Windows builds crashing on 'infinity'::timestamp, which wasdirectly due to failure to establish a value of timezone_abbreviationsin postmaster child processes. The postmaster had the desired value,but write_one_nondefault_variable() didn't transmit it to backends.To fix that, invent a new value PGC_S_DYNAMIC_DEFAULT, and be sure to usethat or PGC_S_ENV_VAR (as appropriate) for "default" settings that arecomputed during initialization. (We need both because there's at leastone variable that could receive a value from either source.)This commit also fixes ProcessConfigFile's failure to restore the correctdefault value for certain GUC variables if they are set in postgresql.confand then removed/commented out of the file. We have to recompute andreinstall the value for any GUC variable that could have received a valuefrom PGC_S_DYNAMIC_DEFAULT or PGC_S_ENV_VAR sources, and there were anumber of oversights. (That whole thing is a crock that needs to beredesigned, but not today.)However, I intentionally didn't make it work "exactly right" for the casesof timezone and log_timezone. The exactly right behavior would involverunning select_default_timezone, which we'd have to do independently ineach postgres process, causing the whole database to become entirelyunresponsive for as much as several seconds. That didn't seem like a goodidea, especially since the variable's removal from postgresql.conf might bejust an accidental edit. Instead the behavior is to adopt the previouslyactive setting as if it were default.Note that this patch creates an ABI break for extensions that use any ofthe PGC_S_XXX constants; they'll need to be recompiled.1 parent6fc6686 commite05b866
File tree
5 files changed
+76
-40
lines changed- src
- backend/utils
- init
- misc
- include/utils
- timezone
5 files changed
+76
-40
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
324 | 324 |
| |
325 | 325 |
| |
326 | 326 |
| |
327 |
| - | |
| 327 | + | |
328 | 328 |
| |
329 | 329 |
| |
330 | 330 |
| |
|
Lines changed: 22 additions & 19 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| 17 | + | |
17 | 18 |
| |
18 | 19 |
| |
19 | 20 |
| |
| |||
109 | 110 |
| |
110 | 111 |
| |
111 | 112 |
| |
112 |
| - | |
113 | 113 |
| |
114 | 114 |
| |
115 | 115 |
| |
| |||
265 | 265 |
| |
266 | 266 |
| |
267 | 267 |
| |
268 |
| - | |
| 268 | + | |
269 | 269 |
| |
270 | 270 |
| |
271 | 271 |
| |
| |||
275 | 275 |
| |
276 | 276 |
| |
277 | 277 |
| |
278 |
| - | |
279 |
| - | |
280 |
| - | |
281 |
| - | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
282 | 281 |
| |
283 |
| - | |
284 |
| - | |
285 |
| - | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
286 | 290 |
| |
287 |
| - | |
288 |
| - | |
289 |
| - | |
290 |
| - | |
291 |
| - | |
292 |
| - | |
293 |
| - | |
294 |
| - | |
295 |
| - | |
296 |
| - | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
297 | 300 |
| |
298 | 301 |
| |
299 | 302 |
| |
|
Lines changed: 24 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
502 | 502 |
| |
503 | 503 |
| |
504 | 504 |
| |
| 505 | + | |
505 | 506 |
| |
506 | 507 |
| |
507 | 508 |
| |
| |||
3269 | 3270 |
| |
3270 | 3271 |
| |
3271 | 3272 |
| |
| 3273 | + | |
3272 | 3274 |
| |
3273 | 3275 |
| |
3274 | 3276 |
| |
| |||
3812 | 3814 |
| |
3813 | 3815 |
| |
3814 | 3816 |
| |
3815 |
| - | |
3816 |
| - | |
3817 | 3817 |
| |
3818 | 3818 |
| |
3819 | 3819 |
| |
| |||
3852 | 3852 |
| |
3853 | 3853 |
| |
3854 | 3854 |
| |
3855 |
| - | |
3856 |
| - | |
| 3855 | + | |
3857 | 3856 |
| |
| 3857 | + | |
| 3858 | + | |
| 3859 | + | |
| 3860 | + | |
| 3861 | + | |
| 3862 | + | |
| 3863 | + | |
| 3864 | + | |
| 3865 | + | |
| 3866 | + | |
| 3867 | + | |
| 3868 | + | |
| 3869 | + | |
| 3870 | + | |
| 3871 | + | |
| 3872 | + | |
| 3873 | + | |
3858 | 3874 |
| |
3859 | 3875 |
| |
3860 | 3876 |
| |
| |||
6334 | 6350 |
| |
6335 | 6351 |
| |
6336 | 6352 |
| |
| 6353 | + | |
6337 | 6354 |
| |
6338 | 6355 |
| |
6339 | 6356 |
| |
| |||
8420 | 8437 |
| |
8421 | 8438 |
| |
8422 | 8439 |
| |
| 8440 | + | |
8423 | 8441 |
| |
8424 | 8442 |
| |
8425 | 8443 |
| |
8426 | 8444 |
| |
8427 |
| - | |
8428 |
| - | |
8429 |
| - | |
8430 |
| - | |
8431 |
| - | |
| 8445 | + | |
| 8446 | + | |
8432 | 8447 |
| |
8433 | 8448 |
| |
8434 | 8449 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
82 | 82 |
| |
83 | 83 |
| |
84 | 84 |
| |
85 |
| - | |
| 85 | + | |
| 86 | + | |
86 | 87 |
| |
87 | 88 |
| |
88 | 89 |
| |
|
Lines changed: 27 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1438 | 1438 |
| |
1439 | 1439 |
| |
1440 | 1440 |
| |
| 1441 | + | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
1441 | 1445 |
| |
1442 | 1446 |
| |
1443 | 1447 |
| |
| |||
1463 | 1467 |
| |
1464 | 1468 |
| |
1465 | 1469 |
| |
1466 |
| - | |
1467 |
| - | |
1468 |
| - | |
1469 |
| - | |
| 1470 | + | |
| 1471 | + | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
1470 | 1492 |
| |
1471 | 1493 |
| |
1472 |
| - | |
1473 | 1494 |
| |
1474 |
| - | |
1475 |
| - | |
1476 |
| - | |
1477 |
| - | |
| 1495 | + | |
1478 | 1496 |
| |
1479 | 1497 |
| |
1480 |
| - | |
1481 | 1498 |
| |
1482 | 1499 |
| |
1483 | 1500 |
| |
|
0 commit comments
Comments
(0)