29 lines
584 B
Bash
29 lines
584 B
Bash
set -e
|
|
|
|
echo "== Dropping subscriptions on PG14 =="
|
|
|
|
for db in $(psql -Atqc "SELECT datname FROM pg_database WHERE datallowconn AND datname NOT IN ('template0,'template1'')"); do
|
|
echo "Processing DB: $db"
|
|
|
|
SUB="migrate_sub_${db}"
|
|
|
|
# Disable first (important)
|
|
psql -d "$db" -c "ALTER SUBSCRIPTION $SUB DISABLE;" 2>/dev/null || true
|
|
|
|
# Drop subscription if exists
|
|
psql -d "$db" -v ON_ERROR_STOP=1 <<SQL
|
|
DO \$\$
|
|
BEGIN
|
|
IF EXISTS (
|
|
SELECT 1 FROM pg_subscription WHERE subname = '$SUB'
|
|
) THEN
|
|
DROP SUBSCRIPTION $SUB;
|
|
END IF;
|
|
END
|
|
\$\$;
|
|
SQL
|
|
|
|
done
|
|
|
|
echo "== Done =="
|