On Thu, Sep 1, 2016 at 9:23 AM, Robert Haas <robertmh...@gmail.com> wrote: > Indeed, it had occurred to me that we might not even want to compile > this code into the server unless WAL_DEBUG is defined; after all, how > does it help a regular user to detect that the server has a bug? Bug > or no bug, that's the code they've got. But on further reflection, it > seems like it could be useful: if we suspect a bug in the redo code > but we can't reproduce it here, we could ask the customer to turn this > option on to see whether it produces logging indicating the nature of > the problem. However, because of the likely expensive of enabling the > feature, it seems like it would be quite desirable to limit the > expense of generating many extra FPWs to the affected rmgr. For > example, if a user has a table with a btree index and a gin index, and > we suspect a bug in GIN, it would be nice for the user to be able to > enable the feature *only for GIN* rather than paying the cost of > enabling it for btree and heap as well.
Yes, that would be rather a large advantage. I think that there really is no hard distinction between users and hackers. Some people will want to run this in production, and it would be a lot better if performance was at least not atrocious. If amcheck couldn't do the majority of its verification with only an AccessShareLock, then users probably just couldn't use it. Heroku wouldn't have been able to use it on all production databases. It wouldn't have mattered that the verification was no less effective, since the bugs it found would simply never have been observed in practice. -- Peter Geoghegan -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers