Re: WARNING: relcache reference leak: relation "p1" not closed
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Tom Lane <tgl@sss.pgh.pa.us>, Kevin Grittner <kgrittn@gmail.com>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Robert Haas <robertmhaas@gmail.com>
Date: 2017-03-07T01:37:46Z
Lists: pgsql-hackers
Attachments
On 2017/03/07 7:28, Tom Lane wrote: > Kevin Grittner <kgrittn@gmail.com> writes: >> With e434ad39ae7316bcf35fd578dd34ad7e1ff3c25f I did a `make world`, >> `make install-world`, a fresh default initdb, a start with default >> config, `make installcheck`, connected to the regression database >> with psql as the initial superuser, and ran: > >> regression=# vacuum freeze analyze; >> WARNING: relcache reference leak: relation "p1" not closed >> VACUUM > > p1 is a partitioned table. (BTW, could I lobby for people not to use such > generic, collision-prone names for tables that will be left behind after > the regression tests?) Also, I find that "vacuum analyze" is sufficient, > or even just "analyze", or "analyze p1". I think it's highly likely this > was introduced by 3c3bb99330aa9b4c2f6258bfa0265d806bf365c3. Certainly > that failed to add appropriate regression test cases, or we would have > noticed this already. That's right, sorry about that. Attached patch fixes the relcache leak and adds tests in vacuum.sql and truncate.sql. Thanks, Amit
Commits
-
Give partitioned table "p" in regression tests a less generic name.
- aa56671836e6 10.0 landed
-
Fix relcache reference leak.
- d88d06cd0783 10.0 landed
-
Combine several DROP variants into generic DropStmt
- e6477a8134ac 10.0 cited
-
Reorder the asynchronous libpq calls for replication connection
- e434ad39ae73 10.0 cited
-
Don't uselessly rewrite, truncate, VACUUM, or ANALYZE partitioned tables.
- 3c3bb99330aa 10.0 cited