From: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Toast issues with OldestXmin going backwards |
Date: | 2018-04-27 01:03:21 |
Message-ID: | 87y3h9a3j2.fsf@news-spur.riddles.org.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>>>>> "Tom" == Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
Tom> Have we given up on the angle of "prevent OldestXmin from
Tom> retreating"?
I haven't, and I'm thinking about it, but I don't have an immediate
solution.
Thinking-out-loud mode:
1) we could store minimum values for OldestXmin for each database in
some kind of shared-memory structure. Downside is that we can't
easily make this fixed-size, since we don't know how many DBs there
are - we can't size it based on connections since we need to be able
to track values for dbs with no currently active connections.
(Or do we need to track it across restarts? maybe we do, to deal with
replication slaves without slots, or changes in parameters)
2) in-place updates of a new column in pg_database? and a control file
field for the global values? not back-patchable, but would it work
going forward?
3) there was the previous suggestion to store it per-table in the main
table's reloptions and inplace-update that; this isn't impossible,
but it would be fiddly to do because toast-table-only vacuums would
need to locate the main table, and lock order issues might get
interesting. (Maybe it would be sneakier to store it in the toast
table's otherwise-unused reloptions, and have vacuum/create index on
the main table consult that? This assumes that we only care about the
issue when dealing with toast tables)
4) something else??
--
Andrew (irc:RhodiumToad)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2018-04-27 01:04:11 | Re: Standby corruption after master is restarted |
Previous Message | Andres Freund | 2018-04-27 01:01:56 | Re: jitflags in _outPlannedStmt and _readPlannedStmt treated as bool type |