"Marko Kreen" <markokr(at)gmail(dot)com> writes:
> Eg. how does src/backend/parser/gram.c not leak memory on syntax error?
It's not a leak because the memory can be re-used during the next
command.
I believe you'll find that trying to make it use palloc is a failure
because it keeps static pointers that it expects will stay valid across
calls.
regards, tom lane