Você pode usar um
anonymous code block
por isso. Atenção :Estamos lidando com
DROP TABLE
declarações, e elas são realmente más se você cometer um erro;) O CASCADE
opção também descarta os objetos dependentes. Use-o com cuidado! DO $$
DECLARE
row record;
BEGIN
FOR row IN SELECT * FROM pg_tables WHERE schemaname = 'mySchema'
LOOP
EXECUTE 'DROP TABLE mySchema.' || quote_ident(row.tablename) || ' CASCADE';
END LOOP;
END;
$$;
Caso você queira descartar tudo em seu esquema, incluindo wrappers, sequências, etc., considere descartar o próprio esquema e criá-lo novamente:
DROP SCHEMA mySchema CASCADE;
CREATE SCHEMA mySchema;