The pg-heir homepage says the following; REQUIRED!! After installing patched Pg it is required to run 'initdb'. Without this Pg will fail with error ERROR: did not find '}' at end of input node. This happens when a user compiles with or without pg-hier and swap. The ebuild does not complain the versions are incompatible. Which they are. Applying the pg-hier should have the same effect as attempting to upgrade from 7.4 -> 8.0 It should tell you that you need to dump your db first, and uninstall. This means PG_VERSION that is used to test in the ebuild may need some way to find if the pg-hier is applied or not. Reproducible: Always Steps to Reproduce: emerge -v postgresql ebuild /var/db/pkg/dev-db/postgresql/postgresql-8.0.2-r1.ebuild config <Enter data, in pg. Not sure how much> USE="pg-hier" emerge -v postgresql pg_dumpall -U postgresql Actual Results: ERROR: did not find '}' at end of input node. Expected Results: Should not be able to run the USE="pg-hier" emerge -v postgresql step, it should complain about incompatible versions of pg.
This comment written by Alvaro Herrera, <alvherre@dcc.uchile.cl>: One way to make the installation automatically detect the incompatibility between the two versions, is have the pg-hier patch modify the src/include/catalog/catversion.h file, to change the CATALOG_VERSION_NO #definition. This symbol is what is used to force initdb's across major versions of the mainline PostgreSQL. 7.4 ships with CATALOG_VERSION_NO 200310211, and all 7.4 releases are guaranteed to have the same definition; however I think it would be unwise to just increment the number by one, because "you never know." This would work: Index: catversion.h =================================================================== RCS file: /home/alvherre/cvs/pgsql/src/include/catalog/catversion.h,v retrieving revision 1.210 diff -u -r1.210 catversion.h --- catversion.h 21 Oct 2003 16:23:16 -0000 1.210 +++ catversion.h 4 Jun 2005 01:16:16 -0000 @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 200310211 +#define CATALOG_VERSION_NO 200310210 #endif
The pg-hier patch will be soon dropped with the new PostgreSQL packages we're preparing, as it's dead and abandoned upstream, and only compatible with older PostgreSQL versions. Thus, closing this! Best regards, CHTEKK.