From 06cd847182d46a139f508b93248745e298c36644 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 --- .../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 d10e316e77..e8e585be92 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.43.2