Re: Remove mention in docs that foreign keys on partitioned tablesare not supported
От | Robert Haas |
---|---|
Тема | Re: Remove mention in docs that foreign keys on partitioned tablesare not supported |
Дата | |
Msg-id | CA+TgmoYUFXGPuzzRuFA_tFSngHMFTCXBmGQe24PQ5VCGzy=rmQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Remove mention in docs that foreign keys on partitioned tablesare not supported (Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>) |
Список | pgsql-hackers |
On Mon, Jun 18, 2018 at 1:20 AM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > That's a wrong comparison. Inheritance based partitioning works even > after declarative partitioning feature is added. So, users can > continue using inheritance based partitioning if they don't want to > move to declarative partitioning. That's not true here. A user creates > a BEFORE ROW trigger on each partition that mimics partitioned table > level BEFORE ROW trigger. The proposed BEFORE ROW trigger on > partitioned table will cascade the trigger down to each partition. If > that fails to recognize that there is already an equivalent trigger, a > partition table will get two triggers doing the same thing silently > without any warning or notice. That's fine if the trigger changes the > salaries to $50K but not OK if each of those increases salary by 10%. > The database has limited ability to recognize what a trigger is doing. I don't even know what to say about that. You are correct that if a user creates a new trigger on a partitioned table and doesn't check what happens to any existing triggers that they already have, bad things might happen. But that seems like a pretty stupid thing to do. If you make *any* kind of critical change to your production database without testing it, bad things may happen. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: