
# 

Drop all tables in a Postgres schema

* * *

Execute the following query to drop all tables in a given schema. Replace `my-schema-name` with the name of your schema. In Supabase, the default schema is `public`.

This deletes all tables and their associated data. Ensure you have a recent [backup](../../../platform/backups/index.md) before proceeding.

```
1do $$ declare2    r record;3begin4    for r in (select tablename from pg_tables where schemaname = 'my-schema-name') loop5        execute 'drop table if exists ' || quote_ident(r.tablename) || ' cascade';6    end loop;7end $$;
```

This query works by listing out all the tables in the given schema and then executing a `drop table` for each (hence the `for... loop`).

You can run this query using the [SQL Editor](/dashboard/project/_/sql) in the Supabase Dashboard, or via `psql` if you're [connecting directly to the database](../../connecting-to-postgres/index.md#direct-connections).
