forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitfa3938f
committed
When a relation is moved to another tablespace, we can't assume that we can
use the old relfilenode in the new tablespace. There might be another relationin the new tablespace with the same relfilenode, so we must generate a freshrelfilenode in the new tablespace.The 8.3 patch to let deleted relation files linger as zero-length files untilthe next checkpoint made this more obvious: moving a relation from one tablespace another, and then back again, caused a collision with the lingeringfile.Back-patch to 8.1. The issue is present in 8.0 as well, but it doesn't seemworth fixing there, because we didn't have protection from OID collisionsafter OID wraparound before 8.1.Report by Guillaume Lelarge.1 parent078aaf7 commitfa3938f
1 file changed
+12
-1
lines changedLines changed: 12 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
6488 | 6488 |
| |
6489 | 6489 |
| |
6490 | 6490 |
| |
| 6491 | + | |
6491 | 6492 |
| |
6492 | 6493 |
| |
6493 | 6494 |
| |
| |||
6557 | 6558 |
| |
6558 | 6559 |
| |
6559 | 6560 |
| |
| 6561 | + | |
| 6562 | + | |
| 6563 | + | |
| 6564 | + | |
| 6565 | + | |
| 6566 | + | |
| 6567 | + | |
| 6568 | + | |
6560 | 6569 |
| |
6561 | 6570 |
| |
| 6571 | + | |
6562 | 6572 |
| |
6563 | 6573 |
| |
6564 | 6574 |
| |
| |||
6588 | 6598 |
| |
6589 | 6599 |
| |
6590 | 6600 |
| |
| 6601 | + | |
6591 | 6602 |
| |
6592 | 6603 |
| |
6593 | 6604 |
| |
|
0 commit comments
Comments
(0)