|
|
|
|
|
by ktosobcy
635 days ago
|
|
> It would be a major hassle to do so since it would mean keeping around major parts of the code for *all old versions of PostgreSQL.* WTF? It was only implied to be able to do migration between major versions, not all of them (which doesn't make any sense). I don't expect PostgreSQL changing that significantly between major version the upgrade would be such a huge hassle… TBH PostgreSQL seem to be the only tool/software that has such a bonkers upgrade path between major versions… |
|
> I don't expect PostgreSQL changing that significantly between major version the upgrade would be such a huge hassle…
PostgreSQL would need code which transforms between the old AST to the new AST for example to support views and check constraints so PostgreSQL would need to keep around a version of the AST for every major version of PostgreSQL plus the code to deparse it. It would also need to keep around the code to read every version of the catalog tables (it partially does this in pg_dump, but only partially since parts of pg_dump is implemented using server side functions).
There are also likely a bunch more complications caused by the pluggable nature of PostgreSQL: e.g. custom plan nodes which might make the whole project a non-starter.
So this would at least mean basically a total rewrite of pg_dump plus maintaining 5 to 10 versions of the AST. But likely much more work since I have likely forgot a bunch of stuff which needs to change. A huge project which increases the maintenance burden for a relatively small gain.
> TBH PostgreSQL seem to be the only tool/software that has such a bonkers upgrade path between major versions…
This is caused mostly by PostgreSQL being heavily extensible unlike its competitors.