Re: [PATCH] A hook for session start

Nico Williams <nico@cryptonector.com>

From: Nico Williams <nico@cryptonector.com>
To: Craig Ringer <craig@2ndquadrant.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Jim Mlodgenski <jimmy76@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Yugo Nagata <nagata@sraoss.co.jp>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Fabrízio de Royes Mello <fabriziomello@gmail.com>
Date: 2017-10-06T04:50:42Z
Lists: pgsql-hackers
On Fri, Oct 06, 2017 at 11:04:38AM +0800, Craig Ringer wrote:
> On 6 October 2017 at 10:52, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> 
> > It is better to work on GLOBAL TEMP tables.
> >
> > Current TEMP tables, if you do it for any session has pretty significant
> > overhead  - with possible risk of performance lost (system catalog bloat).
> >
> > pretty significant performance issue of my customers are related to temp
> > tables usage (under high load)
> 
> I've seen the same thing too. Especially when combined with logical
> decoding, where IIRC we mark transactions as having catalog changes
> due to temp tables.
> 
> Sometimes the catalog bloat can be truly horrible when a user has
> hundreds of plpgsql functions that all like to make temp tables.

I agree that we should have GLOBAL TEMP tables, but also we should have
a pg_temp_catalog where all TEMP schema elements go...  (That, I'm sure,
would be a lot of work.)


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add hooks for session start and session end, take two