Du kan bruge en anonymous code block
for det.
Opmærksomhed :Vi har at gøre med DROP TABLE
udsagn, og de er virkelig slemme, hvis du laver en fejl;) CASCADE
option fjerner også de afhængige objekter. Brug det med omtanke!
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;
$$;
Hvis du vil droppe alt i dit skema, inklusive wrappers, sekvenser osv., kan du overveje at droppe selve skemaet og oprette det igen:
DROP SCHEMA mySchema CASCADE;
CREATE SCHEMA mySchema;