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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers