Hi, So I've been progressing on revising the autovacuum patch to make it work with the current reloptions. We have a number of options:
1. Call heap_open() for every relation that we're going to check, and examine the reloptions via the relcache. I'm not sure that I like this very much. Right now we just plow ahead using a pg_class seqscan, which avoids locking the relations just for the sake of verifying whether they need work. However, this is the cleanest option in terms of modularity breakage. 2. Play some dirty tricks in autovacuum and extract the reloptions from the bare pg_class tuple ourselves. I think doing this cleanly requires exporting some internal functions like GetPgClassDescriptor() from relcache.c. 3. Disallow setting reloptions for pg_class, which (I think) allows us to avoid having to use GetPgClassDescriptor, but the rest of it is still a dirty hack. In particular, if we do either (2) or (3), we'll need to keep an eye on that code whenever we modify RelationParseRelOptions. Thoughts? -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers