![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
Andrew - Supernews <andrew+nonews (AT) supernews (DOT) com> writes: It turns out that the scenario above is trivial to hit in 8.0 using referential constraints; RI triggers cache their plans, and on 8.0 the RI query is planned as a seqscan if the tables are freshly created. (On 7.4 the plan is an index scan, thanks to the default 1000 rows / 10 pages stats.) Hm. One thing we could do is to throw in some default values when we see the table has exactly zero pages --- perhaps ye olde traditional 1000/10, or possibly something else, but anyway not exactly 0/0. The reason I thought we didn't need to do this sort of hack anymore is that pg_dump loads the tables first and then creates the RI constraints. What exactly is the common case where the wrong thing happens? |
#2
| |||
| |||
|
|
On Fri, 18 Mar 2005, Tom Lane wrote: Hm. One thing we could do is to throw in some default values when we see the table has exactly zero pages --- perhaps ye olde traditional 1000/10, or possibly something else, but anyway not exactly 0/0. |
|
The reason I thought we didn't need to do this sort of hack anymore is that pg_dump loads the tables first and then creates the RI constraints. What exactly is the common case where the wrong thing happens? Probably loading a schema only dump followed by a data load that doesn't turn off the constraint (as I believe that's non-default on data-only dumps now). |
![]() |
| Thread Tools | |
| Display Modes | |
| |