From: Sandro Santilli Date: Sat, 29 Sep 2012 16:14:05 +0000 (+0000) Subject: Provide a script to opt out of extensions X-Git-Tag: 2.1.0beta2~606 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5fb23d4ba95121b225e01c2e24e5c213b99902d5;p=postgis Provide a script to opt out of extensions git-svn-id: http://svn.osgeo.org/postgis/trunk@10345 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/extensions/opt_out.sh b/extensions/opt_out.sh new file mode 100755 index 000000000..7e9cbf8b9 --- /dev/null +++ b/extensions/opt_out.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +test -n "$1" || { + echo "Usage: $0 " + exit 1 +} + +db="$1" + +psql -XtA ${db} <<'EOF' | psql -XtA ${db} + +-- for topology +SELECT 'ALTER EXTENSION ' || extname || ' DROP ' || regexp_replace( + regexp_replace(pg_catalog.pg_describe_object(d.classid, d.objid, 0), E'cast from (.*) to (.*)', E'cast\(\\1 as \\2\)'), + E'(.*) for access method (.*)', E'\\1 using \\2') || ';' AS sqladd +FROM pg_catalog.pg_depend AS d +INNER JOIN pg_extension AS e ON (d.refobjid = e.oid) +WHERE d.refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass +AND deptype = 'e' AND e.extname = 'postgis_topology' +ORDER BY sqladd; + +SELECT 'DROP EXTENSION postgis_topology;'; + +-- for postgis +SELECT 'ALTER EXTENSION ' || extname || ' DROP ' || regexp_replace( + regexp_replace(pg_catalog.pg_describe_object(d.classid, d.objid, 0), E'cast from (.*) to (.*)', E'cast\(\\1 as \\2\)'), + E'(.*) for access method (.*)', E'\\1 using \\2') || ';' AS sqladd +FROM pg_catalog.pg_depend AS d +INNER JOIN pg_extension AS e ON (d.refobjid = e.oid) +WHERE d.refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass +AND deptype = 'e' AND e.extname = 'postgis' +ORDER BY sqladd; + +SELECT 'DROP EXTENSION postgis;'; + +EOF