postgis/extensions/opt_out.sh
Sandro Santilli 5fb23d4ba9 Provide a script to opt out of extensions
git-svn-id: http://svn.osgeo.org/postgis/trunk@10345 b70326c6-7e19-0410-871a-916f4a2858ee
2012-09-29 16:14:05 +00:00

37 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
test -n "$1" || {
echo "Usage: $0 <dbname>"
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