Thread

  1. Re: [Proposal] Adding callback support for custom statistics kinds

    Sami Imseih <samimseih@gmail.com> — 2025-12-09T23:15:45Z

    >
    > > IIUC, if *any* error occurs outside of a deserialize callback, first the
    > "error"
    > > code will be called, followed by "done" which will then trigger the
    > > end_extra_stats
    > > callback that will perform the cleanup.
    >
    > That is true. But problem is, without an error indication,
    > end_extra_stats(STATS_READ) can only blindly perform cleanup works. As you
    > are providing general purposed callbacks, who knows what scenarios
    > extensions would do, so it’s better to provide more information to
    > callbacks. IMO, letting end_extra_stats() know current situation (normal or
    > failure, even error code) is very meaningful. For example, my extension may
    > want to log “I am forced to quite due to outside error” or “I am done
    > successfully” in end_extra_stats(). Anyway, that’s my own opinion. If you
    > and Michael still consider that’s not a problem, I won’t argue more.
    
    
    Thanks for explaining. If there is a good use-case to add more detail to
    the “end” callback, it’s not very obvious yet. Maybe in the future, there
    will be a convincing reason to do so.
    
    When we hit the clean-up code on any “error”, it should be accompanied by
    an error log. That is
    done in all cases inside pgstat.c, and I expect an extension to log the
    error as well.
    
    
    --
    Sami Imseih
    Amazon Web Services (AWS)