From 406eb6c7e4fc8d038fbf44a555a220d5e761fde4 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 --- .../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 0da18594c9..250bce0e46 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