Re: pg_upgrade libraries check
От | Dimitri Fontaine |
---|---|
Тема | Re: pg_upgrade libraries check |
Дата | |
Msg-id | m2k3zwgudp.fsf@2ndQuadrant.fr обсуждение исходный текст |
Ответ на | Re: pg_upgrade libraries check (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pg_upgrade libraries check
|
Список | pgsql-hackers |
Tom Lane <tgl@sss.pgh.pa.us> writes: > Well, the scheme I had in mind would require pg_upgrade to verify that > the new cluster contains an extension control file for each extension in > the old cluster (which is something it really oughta do anyway, if it > doesn't already). After that, though, it ought not be looking at the > individual functions defined by an extension --- it is the extension's > business which libraries those are in. I have some plans that we will be discussing later in the new dev cycle and that would impact such a method if we're to follow them. To better solve both the per-system (not even cluster) and per-database extension versions and the inline/os-packaged extension discrepancy, I'm thinking that we should move the extension support files from their shared OS location to a per-database location at CREATE EXTENSION time. That would mean managing several copies of those so that each database can actually implement a different version and upgrade cycle of an extension, including of its shared object libraries (some more session state) in simplest cases (no extra shared object dependencies). I don't intend to be already discussing the details of that proposal here, that's just a hint so that you know that I intend to rework the current control file strategy that we have, so any work on that in pg_upgrade in next cycle will possibly be impacted. > The only reason for pg_upgrade to still look at probin at all would be > to cover C functions that weren't within extensions. In the long run it > might be possible to consider those unsupported, or at least not common > enough to justify a safety check in pg_upgrade. I'm thinking about optionally forbidding creating functions written in C or installed into pg_catalog when not done via an extension script, and maybe later down the road changing the default to be the forbidding. The pg_catalog case makes sense as going via an extension's script is the only way I know about to dump/restore the function. Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
В списке pgsql-hackers по дате отправления: