From 76915059a40584d2a7445366eb23bf465cdcb2f0 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 20 Sep 2017 11:23:29 -0400 Subject: [PATCH] LP#1715503: make upgrade script abort if not running min support version This patch causes the monolithic upgrade script to fail if the database its connecting to isn't running at least Pg 9.4. To test ------- [1] Verify that 2.12.5-3.0-beta1-upgrade-db.sql will abort if used in a Pg database < 9.4; verify that it will work if the Pg version is at least 9.4 Signed-off-by: Galen Charlton Signed-off-by: Mike Rylander --- .../Pg/version-upgrade/2.12.5-3.0-beta1-upgrade-db.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.12.5-3.0-beta1-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.12.5-3.0-beta1-upgrade-db.sql index 7e9b7c064c..da7aa3b1c0 100644 --- a/Open-ILS/src/sql/Pg/version-upgrade/2.12.5-3.0-beta1-upgrade-db.sql +++ b/Open-ILS/src/sql/Pg/version-upgrade/2.12.5-3.0-beta1-upgrade-db.sql @@ -1,5 +1,23 @@ --Upgrade Script for 2.12.5 to 3.0-beta1 \set eg_version '''3.0-beta1''' + +-- verify that we're running a recent enough version of Pg +\set ON_ERROR_STOP on +BEGIN; + +DO $$ + DECLARE ver INTEGER; + BEGIN + SELECT current_setting('server_version_num') INTO ver; + IF (ver < 90400) THEN + RAISE EXCEPTION 'Not running a new enough version of PostgreSQL. Minimum required is 9.4; you have %', ver; + END IF; + END; +$$; + +COMMIT; +\set ON_ERROR_STOP off + BEGIN; INSERT INTO config.upgrade_log (version, applied_to) VALUES ('3.0-beta1', :eg_version); -- 2.11.0