I haven't paid attention to this topic in a long time, thanks all for the advices, I will study them then update.
Thanks again.
Zhang Mingli
www.hashdata.xyz
On Sep 18, 2024 at 15:50 +0800, David Rowley <dgrowleyml@gmail.com>, wrote:
On Wed, 18 Sept 2024 at 19:28, Peter Eisentraut <peter@eisentraut.org> wrote:
On 12.09.24 03:43, David Rowley wrote:
(Likely it could just look at pg_attribute.attnotnull instead)
That won't work because you can't record dependencies on that. (This is one of the reasons for cataloging not-null constraints as real constraints.)
I'm not seeing any need to record constraint dependencies for this optimisation. It would be different for detecting functional dependencies in a view using a unique constraint+not null constraints for ungrouped columns, but that's not what this is. This is just a planner optimisation. The plan can be invalidated by a relcache invalidation, which will happen if someone does ALTER TABLE DROP NOT NULL.