Как удалить все схемы в postgres

Я использую django-tenants, и для некоторых тестов мне нужно удалить все схемы сразу, поэтому мне интересно, как я могу удалить все схемы одним предложением/скриптом из postgresql shell, потому что удаление по одной не масштабируется.

<<<Спасибо большое.

Для удаления всех схем вы должны использовать динамический SQL. Имена схем можно получить из таблиц системы статистики (пример: information_schema). Пример запроса:

do
$body$
declare
    f_rec record;
begin
    
    for f_rec in 
        SELECT schema_name::text
        FROM information_schema.schemata
        where schema_name <> 'public'
    loop 
        execute 'DROP SCHEMA ' || f_rec.schema_name || ' CASCADE';
    end loop;   
    
end;
$body$
language 'plpgsql';
Вернуться на верх