Bash script to be used after the main 2.3-2.4 db upgrade
authorMike Rylander <mrylander@gmail.com>
Wed, 3 Apr 2013 17:19:18 +0000 (13:19 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 3 Apr 2013 17:19:18 +0000 (13:19 -0400)
This script, originally offered by Thomas Berezansky and tested by others,
and augmented by me to include more parallizable SQL, will reduce the
time spent upgrading a large Evergreen 2.3 database to 2.4 by several hours.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/sql/Pg/version-upgrade/2.3-2.4-supplemental.sh [new file with mode: 0755]

diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.3-2.4-supplemental.sh b/Open-ILS/src/sql/Pg/version-upgrade/2.3-2.4-supplemental.sh
new file mode 100755 (executable)
index 0000000..90a532b
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+echo "Starting update of field_entry values.  This will take a while..."
+date
+
+psql -c "UPDATE metabib.identifier_field_entry set value = value;" &
+psql -c "UPDATE metabib.title_field_entry set value = value;" &
+psql -c "UPDATE metabib.author_field_entry set value = value;" &
+psql -c "UPDATE metabib.subject_field_entry set value = value;" &
+psql -c "UPDATE metabib.keyword_field_entry set value = value;" &
+psql -c "UPDATE metabib.series_field_entry set value = value;" &
+
+wait
+
+echo "Completed update of field_entry values."
+date
+
+echo "Starting update of combined field_entry values.  This will also take a while..."
+psql -c "SELECT count(metabib.update_combined_index_vectors(id)) FROM biblio.record_entry WHERE NOT deleted;" &
+
+echo "Starting creation of indexes from 0782..."
+psql -c "CREATE INDEX CONCURRENTLY usr_activity_usr_idx on actor.usr_activity (usr);" &
+psql -c "CREATE INDEX CONCURRENTLY hold_request_open_idx on action.hold_request (id) where cancel_time IS NULL AND fulfillment_time IS NULL;" &
+psql -c "CREATE INDEX CONCURRENTLY cp_available_by_circ_lib_idx on asset.copy (circ_lib) where status IN (0,7);" &
+psql -c "CREATE INDEX CONCURRENTLY hold_request_current_copy_before_cap_idx on action.hold_request (current_copy) where capture_time IS NULL AND cancel_time IS NULL;" &
+psql -c "CREATE INDEX CONCURRENTLY edi_message_account_status_idx on acq.edi_message (account,status);" &
+psql -c "CREATE INDEX CONCURRENTLY edi_message_po_idx on acq.edi_message (purchase_order);" &
+psql -c "CREATE INDEX CONCURRENTLY atev_def_state on action_trigger.event (event_def,state);" &
+psql -c "CREATE INDEX CONCURRENTLY hold_transit_copy_hold_idx on action.hold_transit_copy (hold);" &
+
+wait
+
+echo "Combined field_entry values and index creation complete"
+date
+