Re: Freeze avoidance of very large table.
От | Robert Haas |
---|---|
Тема | Re: Freeze avoidance of very large table. |
Дата | |
Msg-id | CA+TgmoZTxdb+2x=imTqi54bLKTJKUabVBQcMd9F7Nr7sQvsEkg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Freeze avoidance of very large table. (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: Freeze avoidance of very large table.
|
Список | pgsql-hackers |
On Thu, Mar 10, 2016 at 8:51 AM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: > After some further thought, I thought that it's better to add check > logic for result of rewriting visibility map to upgrading logic rather > than regression test in order to ensure that rewriting visibility map > has been successfully done. > As a draft, attached patch checks the result of rewriting visibility > map after rewrote for each relation as a routine of pg_upgrade. > The disadvantage point of this is that we need to scan each visibility > map page for 2 times. > But since visibility map size would not be so large, it would not bad. > Thoughts? I think that's kind of pointless. We need to test that this conversion code works, but once it does, I don't think we should make everybody pay the overhead of retesting that. Anyway, the test code could have bugs, too. Here's an updated version of your patch with that code removed and some cosmetic cleanups like fixing typos and stuff like that. I think this is mostly ready to commit, but I noticed one problem: your conversion code always produces two output pages for each input page even if one of them would be empty. In particular, if you have a large number of small relations and run pg_upgrade, all of their visibility maps will go from 8kB to 16kB. That isn't the end of the world, maybe, but I think you should see if you can't fix it somehow.... -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Вложения
В списке pgsql-hackers по дате отправления: