Re: Protect syscache from bloating with negative cache entries - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Protect syscache from bloating with negative cache entries
Date
Msg-id 20180307110138.qp3wsav7ka43qrlj@alvherre.pgsql
Whole thread Raw
In response to Re: Protect syscache from bloating with negative cache entries  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Responses Re: Protect syscache from bloating with negative cache entries  (Andres Freund <andres@anarazel.de>)
Re: Protect syscache from bloating with negative cache entries  (Robert Haas <robertmhaas@gmail.com>)
RE: Protect syscache from bloating with negative cache entries  ("Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>)
List pgsql-hackers
The thing that comes to mind when reading this patch is that some time
ago we made fun of other database software, "they are so complicated to
configure, they have some magical settings that few people understand
how to set".  Postgres was so much better because it was simple to set
up, no magic crap.  But now it becomes apparent that that only was so
because Postgres sucked, ie., we hadn't yet gotten to the point where we
*needed* to introduce settings like that.  Now we finally are?

I have to admit being a little disappointed about that outcome.

I wonder if this is just because we refuse to acknowledge the notion of
a connection pooler.  If we did, and the pooler told us "here, this
session is being given back to us by the application, we'll keep it
around until the next app comes along", could we clean the oldest
inactive cache entries at that point?  Currently they use DISCARD for
that.  Though this does nothing to fix hypothetical cache bloat for
pg_dump in bug #14936.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [HACKERS] GSoC 2017: Foreign Key Arrays
Next
From: Ildar Musin
Date:
Subject: Re: using index or check in ALTER TABLE SET NOT NULL