Re: pg_dump versus hash partitioning
От | Tom Lane |
---|---|
Тема | Re: pg_dump versus hash partitioning |
Дата | |
Msg-id | 369734.1677514834@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: pg_dump versus hash partitioning (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: pg_dump versus hash partitioning
|
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > On Tue, Feb 14, 2023 at 2:21 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: >> This made me wonder if this could be a usable solution at all, but >> after thinking for awhile, I don't see how the claim about foreign key >> constraints is anything but FUD. pg_dump/pg_restore have sufficient >> dependency logic to prevent that from happening. I think we can just >> drop the "or perhaps ..." clause here, and tolerate the possible >> inefficiency as better than failing. > Right, but isn't that dependency logic based around the fact that the > inserts are targeting the original partition? Like, suppose partition > A has a foreign key that is not present on partition B. A row that is > originally in partition B gets rerouted into partition A. It must now > satisfy the foreign key constraint when, previously, that was > unnecessary. Well, that's a user error not pg_dump's fault. Particularly so for hash partitioning, where there is no defensible reason to make the partitions semantically different. There could be a risk of a timing problem, namely that parallel pg_restore tries to check an FK constraint before all the relevant data has arrived. But in practice I don't believe that either. We load all the data in "data" phase and then create indexes and check FKs in "post-data" phase, and I do not believe that parallel restore weakens that separation (because it's enforced by a post-data boundary object in the dependencies). regards, tom lane
В списке pgsql-hackers по дате отправления: