Re: BUG #18694: DISCARD ALL does not reset execution counters for plpgsql functions

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: David Pavlíček <pavlicek(dot)david(at)gmail(dot)com>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #18694: DISCARD ALL does not reset execution counters for plpgsql functions
Date: 2024-11-08 10:38:46
Message-ID: CAFj8pRAXUgw=K_37=_1fkFaUEpuX9HZnriqcAEaCagYJONQUzA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi

pá 8. 11. 2024 v 10:27 odesílatel David Pavlíček <pavlicek(dot)david(at)gmail(dot)com>
napsal:

> In my opinion it is a bug. Documentation clearly states that DISCARD ALL
> "resets the session to its initial state", which is not true. So either
> it's a documentation error and DISCARD ALL isn't meant to completely reset
> the state, or it's meant to completely reset the state and then it's a bug
> in its implementation (whether it is a missing feature or bug in existing
> one). I agree that Implementing a new user-exposed command and then calling
> it within DISCARD ALL is probably the right solution to the problem.
>

Please, don't send the top posting style
https://en.wikipedia.org/wiki/Posting_style in this mailing list.

Generally inside Postgres are more internal counters that ensure some
unique numbers or names, that are not reset by DISCARD ALL. DISCARD ALL is
synonym for

CLOSE ALL;
SET SESSION AUTHORIZATION DEFAULT;
RESET ALL;
DEALLOCATE ALL;
UNLISTEN *;
SELECT pg_advisory_unlock_all();
DISCARD PLANS;
DISCARD TEMP;
DISCARD SEQUENCES;

other features not promised. It is hard to say if unique numbers should be
resetted too. There are two reasons - possibly performance impact, and it
can be hard to implement it. There is not any list of these counters (some
counters are inside extensions). It can be better explained in doc.

Regards

Pavel

>
> David P.
>
> čt 7. 11. 2024 v 14:38 odesílatel David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com> napsal:
>
>> On Thursday, November 7, 2024, PG Bug reporting form <
>> noreply(at)postgresql(dot)org> wrote:
>>
>>> The following bug has been logged on the website:
>>>
>>> Bug reference: 18694
>>> Logged by: David Pavlíček
>>> Email address: pavlicek(dot)david(at)gmail(dot)com
>>> PostgreSQL version: 13.13
>>> Operating system: Linux
>>> Description:
>>>
>>> In my opinion, the DISCARD ALL command should reset the internal
>>> execution counters of plpgsql functions.
>>>
>>>
>> To my knowledge there is no user-exposed way to reset those counters.
>> Thus discard all cannot reset them. It is a missing feature, not a bug.
>> One that I agree makes sense to add.
>>
>> David J.
>>
>>
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2024-11-08 12:47:14 BUG #18697: Postgresql does not start
Previous Message Maciej Jaros 2024-11-08 10:30:33 Re: BUG #18675: Postgres is not realasing memory causing OOM