Re: random() (was Re: New GUC to sample log queries)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Michael Paquier <michael@paquier.xyz>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Adrien Nayrat <adrien.nayrat@anayrat.info>,
Thomas Munro <thomas.munro@enterprisedb.com>,
Dmitry Dolgov <9erthalion6@gmail.com>,
Tomas Vondra <tomas.vondra@2ndquadrant.com>,
Vik Fearing <vik.fearing@2ndquadrant.com>,
Robert Haas <robertmhaas@gmail.com>,
David Rowley <david.rowley@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-12-27T02:39:00Z
Lists: pgsql-hackers
Peter Geoghegan <pg@bowt.ie> writes: > It's always possible to make a change that might stop someone from > introducing a bug. The question ought to be: why this change, and why > now? The point here is not to be cryptographically strong at every single place where the backend might want a random number; I think we're all agreed that we don't need that. To me, the point is to ensure that the user-accessible random sequence is kept separate from internal uses, and the potential security exposure in the new random-logging patch is what justifies getting more worried about this than we were before. Now, we could probably fix that with some less intrusive patch than #define'ing random() --- in particular, if we give drandom and setseed their own private PRNG state, we've really fixed the security exposure without need to change anything else anywhere. So maybe we should just do that and be happy. regards, tom lane
Commits
-
Use pg_strong_random() to select each server process's random seed.
- 4203842a1cd0 12.0 landed
-
Use a separate random seed for SQL random()/setseed() functions.
- 6645ad6bdd81 12.0 landed
-
Marginal performance hacking in erand48.c.
- 6b9bba2df8d4 12.0 landed
-
Fix latent problem with pg_jrand48().
- e09046641114 12.0 landed
- f256995e33d2 10.7 landed
- d58e01f8abe2 11.2 landed
-
Silence compiler warning
- 9dc122585551 12.0 landed
-
Add log_statement_sample_rate parameter
- 88bdbd3f7460 12.0 landed