Em sexta-feira, 1 de maio de 2015, Robert Haas <robertmh...@gmail.com>
escreveu:

> On Fri, May 1, 2015 at 9:09 AM, Marko Tiikkaja <ma...@joh.to
> <javascript:;>> wrote:
> > On 2015-04-28 19:43, Robert Haas wrote:
> >> I guess
> >> the root of the problem is that PL/plgsql's cache invalidation logic
> >> only considers the pg_proc row's TID and xmin when deciding whether to
> >> recompile.  For base types that's probably OK, but for composite
> >> types, not so much.
> >>
> >> Thoughts?
> >
> > We recently hit a similar case in our production environment.  What was
> > annoying about it is that there didn't seem to be a way for the
> application
> > to fix the issue by itself, short of reconnecting; even DISCARD ALL
> doesn't
> > help.  If we can't fix the underlying issue, can we at least provide a
> way
> > for apps to invalidate these caches themselves, for example in the form
> of a
> > DISCARD option?
>
> It's been discussed before and I am in favor of it.  However the
> implementation is a bit challenging.  The DISCARD command doesn't know
> what PLs may have decided to cache, nonwithstanding the fact that they
> all cache basically the same stuff using basically the same method.  I
> think the PL interface will need to be extended in some way to support
> a new callback.
>
>
IMHO we need a way to DISCARD run a cleanup code for each installed
extension. Maybe with a new option like DISCARD EXTENSIONS. So each
extension could have and register your own cleanup code.

Regards,



-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Timbira: http://www.timbira.com.br
>> Blog: http://fabriziomello.github.io
>> Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
>> Github: http://github.com/fabriziomello

Reply via email to