Jim Nasby wrote: > On 12/17/14, 10:20 AM, Heikki Linnakangas wrote: > >> > >>>* Change the new bit in the errdetail. "could not acquire cleanup lock" > >>> sounds too much like an error to me. "skipped %u pinned pages" maybe? > >> > >>Seems reasonable. > > > >Well, that's not always true either; when freezing, it doesn't skip the > >pinned pages, it waits for them. > > Oops. :( > > >I.e. this just says how many pages were pinned, without saying what was done > >about them. That's not very meaningful to an average DBA, but that's true > >for many of the numbers printed in vacuum verbose. > > In this case it'll mean people will be less likely to report that this is > happening, but maybe that's OK. At least if someone comes to us with a > problem we'll be able to get some info from them. I'll separately look into > the vacuum docs and see if we can do a better job explaining the verbose > output. > > BTW, what is it about a dynamic message that makes it untranslatable? Doesn't > the translation happen down-stream, so that at most we'd just need two > translation messages? Or worst case we could have two separate elog calls, if > we wanted to go that route.
Since each part is a complete sentence, you can paste them together. For example you could do something like msg1 = _("Could not acquire cleanup lock."); msg2 = _("Skipped %u pinned pages."); ereport(INFO, (errcode(ERRCODE_SOME_STUFF), errmsg_internal("%s\n%s", msg1, msg2))); The use of errmsg_internal() is to avoid having it be translated again. FWIW I think the vacuum summary INFO message is pretty terrible already. I would support a patch that changed it to be separately translatable units (as long as each unit is a complete sentence.) -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers