Re: WIP: Access method extendability

Jim Nasby <jim.nasby@bluetreble.com>

From: Jim Nasby <Jim.Nasby@BlueTreble.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Alexander Korotkov <aekorotkov@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2014-10-29T19:33:00Z
Lists: pgsql-hackers
On 10/28/14, 3:27 PM, Simon Riggs wrote:
> On 28 October 2014 17:50, Jim Nasby <Jim.Nasby@bluetreble.com> wrote:
>> On 10/28/14, 9:22 AM, Simon Riggs wrote:
>>>
>>> 2. Some additional code in Autovacuum to rebuild corrupt indexes at
>>> startup, using AV worker processes to perform a REINDEX CONCURRENTLY.
>>
>>
>> I don't think loading more functionality into autovac is the right way to do
>> that.
>
> You'd need to explain why and/or suggest your right way.

Why wouldn't we register it as a background worker?

Not only doesn't this have anything to do with vacuum, but it should operate differently as well: once we've rebuilt everything that needs to be rebuilt the process should go away until the next startup. That's the opposite of what autovac does.

The one potential commonality I see is having a launcher process that's responsible for launching multiple workers (if we want to be rebuilding multiple indexes at once), but AFAICT that capability is also provided by bgworker.c.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com


Commits

  1. Support CREATE ACCESS METHOD

  2. Restructure index access method API to hide most of it at the C level.