On Thu, Jun 17, 2021 at 2:17 PM Andres Freund <and...@anarazel.de> wrote: > Adding a hacky special case implementation for cross-database relation > accesses that violates all kinds of assumptions (like holding a lock on > a relation when accessing it / pinning pages, processing relcache > invals, ...) doesn't seem like a good plan.
I agree that we don't want hacky code that violates assumptions, but bypassing shared_buffers is a bit hacky, too. Can't we lock the relations as we're copying them? We know pg_class's OID a fortiori, and we can find out all the other OIDs as we go. I'm just thinking that the hackiness of going around shared_buffers feels irreducible, but maybe the hackiness in the patch is something that can be solved with more engineering. -- Robert Haas EDB: http://www.enterprisedb.com