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

Reply via email to