Index: openacs-4/packages/acs-core-docs/www/upgrade-supporting.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-supporting.html,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 16 Dec 2003 14:03:40 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/upgrade-supporting.html 11 Jan 2004 12:45:48 -0000 1.1.2.2 @@ -1,51 +1,51 @@ -
OpenACS Full Text Search requires several pieces: the OpenFTS code, some database functions, and the OpenFTS Engine. This section describes how to upgrade OpenFTS from 0.2 to 0.3.2 and upgrade the search engine on an OpenACS site at the same time.
Uninstall the old OpenFTS Engine from the service0 database.
Browse to http://yourserver/openfts. -
Click Administration.
Click
Build and install the new OpenFTS driver and supporting tcl procedures. (This section of shell code is not fully documented; please exercise care.)
cd /usr/local/src/ -tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz -chown -R root.root Search-OpenFTS-tcl-0.3.2/ -cd Search-OpenFTS-tcl-0.3.2/ -./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/ -cd aolserver/ -make -
-Back up the old fts driver as a precaution and install the newly -compiled one
mv /usr/local/aolserver/bin/nsfts.so /usr/local/aolserver/bin/nsfts-0.2.so -cp nsfts.so /usr/local/aolserver/bin -
Build and install the OpenFTS code for PostGresSQL
cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/ -cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.3/contrib /usr/local/src/postgresql-7.2.3/contrib/pgsql_contrib_openfts -make -su - postgres -cd tsearch/ -make -make install -exit
In order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS 0.3.2 driver, we need some commands added to the database.
[root root]# su - service0 -[service0 dev]$ psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql -CREATE -CREATE -[service0 dev]$ psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql -BEGIN -CREATE -(~30 more lines) -[service0 dev]$ exit -[root root]# -su - service0 -psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql -psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql -exit
OPTIONAL: Install the new OpenFTS Engine.�If you want to upgrade the OpenFTS Engine, do these - steps. (You must have already upgraded the OpenFTS driver to - 0.3.2.)
Browse to http://yourserver/admin/site-map
On the openfts line, click on set parameters.
Change the value of openfts_tcl_src_path from /usr/local/src/Search-OpenFTS-tcl-0.2/ to /usr/local/src/Search-OpenFTS-tcl-0.3.2/
Click
[root root]# restart-aolserver service0
Browse to http://yourserver/openfts
Click Administration.
Click
An OpenACS database created in PostGreSQL 7.2 will not work correctly in PostGreSQL 7.3. This is because 7.2 truncates function names to 31 characters, but 7.3 does not. This does not cause problems in 7.2, because truncation occurs both at function creation and at function calling, so they still match. But if you use a database created in 7.2 in 7.3, the function names in the database remain truncated but the function calls are not, and so they don't match. Also some functions use casting commands that no longer work in 7.3 and these functions must be recreated.
-To upgrade an OpenACS site from PostGreSQL 7.2 to 7.3, first upgrade the kernel to 4.6.3. Then, dump the database, run the upgrade script /var/lib/aolserver/service0/bin/pg_7.2to7.3_upgrade_helper.pl on the dump file, and reply the dump. See Forum OpenACS Q&A: PG 7.2->7.3 upgrade gotcha?. Example:
Back up the database as per PostgreSQL.
Run the upgrade script on the backup file.
[root root]# su - service0 -[service0 service0]# cd /var/lib/aolserver/service0/bin -[service0 bin]$ ./pg_7.2to7.3_upgrade_helper.pl \ - ../database-backup/nightly.dmp \ - ../database-backup/upgrade-7.3.dmp \ - /var/lib/aolserver/service0 -================================================================== -looking for function acs_object__check_object_ancest in oacs -grep result: /var/lib/aolserver/aufrecht-dev/packages/acs-kernel/sql/postgresql/acs-objects-create.sql:create function acs_object__check_object_ancestors (integer,integer,integer) +Upgrading Platform components OpenACS Full Text Search requires several pieces: the OpenFTS code, some database functions, and the OpenFTS Engine. This section describes how to upgrade OpenFTS from 0.2 to 0.3.2 and upgrade the search engine on an OpenACS site at the same time.
Uninstall the old OpenFTS Engine from the service0 database.
Browse to http://yourserver/openfts. +
Click Administration.
Click
Build and install the new OpenFTS driver and supporting tcl procedures. (This section of shell code is not fully documented; please exercise care.)
cd /usr/local/src/ + tar xzf /tmp/Search-OpenFTS-tcl-0.3.2.tar.gz + chown -R root.root Search-OpenFTS-tcl-0.3.2/ + cd Search-OpenFTS-tcl-0.3.2/ + ./configure --with-aolserver-src=/usr/local/src/aolserver/aolserver --with-tcl=/usr/lib/ + cd aolserver/ + make ++ Back up the old fts driver as a precaution and install the newly + compiled one
mv /usr/local/aolserver/bin/nsfts.so /usr/local/aolserver/bin/nsfts-0.2.so + cp nsfts.so /usr/local/aolserver/bin +Build and install the OpenFTS code for PostGresSQL
cd /usr/local/src/Search-OpenFTS-tcl-0.3.2/ + cp -r pgsql_contrib_openfts /usr/local/src/postgresql-7.2.3/contrib /usr/local/src/postgresql-7.2.3/contrib/pgsql_contrib_openfts + make + su - postgres + cd tsearch/ + make + make install + exitIn order for the OpenACS 4.6 OpenFTS Engine to use the OpenFTS 0.3.2 driver, we need some commands added to the database.
[root root]# su - service0 + [service0 dev]$ psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql + CREATE + CREATE + [service0 dev]$ psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql + BEGIN + CREATE + (~30 more lines) + [service0 dev]$ exit + [root root]# +su - service0 + psql service0 -f /usr/local/pgsql/share/contrib/openfts.sql + psql service0 -f /usr/local/src/postgresql-7.2.3/contrib/tsearch/tsearch.sql + exit
OPTIONAL: Install the new OpenFTS Engine.�If you want to upgrade the OpenFTS Engine, do these + steps. (You must have already upgraded the OpenFTS driver to + 0.3.2.)
Browse to http://yourserver/admin/site-map
On the openfts line, click on set parameters.
Change the value of openfts_tcl_src_path from /usr/local/src/Search-OpenFTS-tcl-0.2/ to /usr/local/src/Search-OpenFTS-tcl-0.3.2/
Click
[root root]# restart-aolserver service0
Browse to http://yourserver/openfts
Click Administration.
Click
An OpenACS database created in PostGreSQL 7.2 will not work correctly in PostGreSQL 7.3. This is because 7.2 truncates function names to 31 characters, but 7.3 does not. This does not cause problems in 7.2, because truncation occurs both at function creation and at function calling, so they still match. But if you use a database created in 7.2 in 7.3, the function names in the database remain truncated but the function calls are not, and so they don't match. Also some functions use casting commands that no longer work in 7.3 and these functions must be recreated.
+ To upgrade an OpenACS site from PostGreSQL 7.2 to 7.3, first upgrade the kernel to 4.6.3. Then, dump the database, run the upgrade script /var/lib/aolserver/service0/bin/pg_7.2to7.3_upgrade_helper.pl on the dump file, and reply the dump. See Forum OpenACS Q&A: PG 7.2->7.3 upgrade gotcha?. Example:
Back up the database as per PostgreSQL.
Run the upgrade script on the backup file.
[root root]# su - service0 + [service0 service0]# cd /var/lib/aolserver/service0/bin + [service0 bin]$ ./pg_7.2to7.3_upgrade_helper.pl \ + ../database-backup/nightly.dmp \ + ../database-backup/upgrade-7.3.dmp \ + /var/lib/aolserver/service0 + ================================================================== + looking for function acs_object__check_object_ancest in oacs + grep result: /var/lib/aolserver/aufrecht-dev/packages/acs-kernel/sql/postgresql/acs-objects-create.sql:create function acs_object__check_object_ancestors (integer,integer,integer) -replacing acs_object__check_object_ancest with acs_object__check_object_ancestors + replacing acs_object__check_object_ancest with acs_object__check_object_ancestors -(many lines omitted) -[service0 bin]$ -Use perl to replace timestamp with timestamptz.
find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/timestamp with time zone/timestamptz/g" -find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/\\wtimestamp[^t]/ timestamptz/g"Restore the database from dump as per the recovery instructions.
View comments on this page at openacs.org + (many lines omitted) + [service0 bin]$ +
Use perl to replace timestamp with timestamptz in the dump file.
find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/timestamp with time zone/timestamptz/g" + find . -type f -name "*sql" | xargs perl -p -i.tmp -e "s/\\wtimestamp[^t]/ timestamptz/g"
Restore the database from dump as per the recovery instructions.