forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit4232cff
committed
Initialize random() in bootstrap/stand-alone postgres and in initdb.
This removes a difference between the standard IsUnderPostmasterexecution environment and that of --boot and --single. In a stand-alonebackend, "SELECT random()" always started at the same seed.On a system capable of using posix shared memory, initdb could stillconclude "selecting dynamic shared memory implementation ... sysv".Crashed --boot or --single postgres processes orphaned shared memoryobjects having names that collided with the not-actually-random namesthat initdb probed. The sysv fallback appeared after ten crashes of--boot or --single postgres. Since --boot and --single are rare inproduction use, systems used for PostgreSQL development are theprincipal candidate to notice this symptom.Back-patch to 9.3 (all supported versions). PostgreSQL 9.4 introduceddynamic shared memory, but 9.3 does share the "SELECT random()" problem.Reviewed by Tom Lane and Kyotaro HORIGUCHI.Discussion:https://postgr.es/m/20180915221546.GA3159382@rfd.leadboat.com1 parent5ed281e commit4232cff
2 files changed
+11
-0
lines changedLines changed: 8 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
228 | 236 |
| |
229 | 237 |
| |
230 | 238 |
| |
|
Lines changed: 3 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
868 | 868 |
| |
869 | 869 |
| |
870 | 870 |
| |
| 871 | + | |
| 872 | + | |
| 873 | + | |
871 | 874 |
| |
872 | 875 |
| |
873 | 876 |
| |
|
0 commit comments
Comments
(0)