sql >> Databáze >  >> RDS >> PostgreSQL

Jak odstranit každou tabulku v konkrétním schématu v postgresu?

Můžete použít anonymous code block za to.

Pozor :Máme co do činění s DROP TABLE příkazy a jsou opravdu podlé, pokud uděláte chybu;) CASCADE volba také zruší závislé objekty. Používejte jej opatrně!

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;
$$;

V případě, že chcete zrušit vše ve schématu, včetně obalů, sekvencí atd., zvažte zrušení samotného schématu a jeho vytvoření znovu:

DROP SCHEMA mySchema CASCADE;
CREATE SCHEMA mySchema;


  1. Funkce pro Postgresql

  2. MySQL (nebo PHP?) seskupuje výsledky podle dat pole

  3. Kopírování databáze PostgreSQL na jiný server

  4. Existuje způsob, jak může PHP ověřit syntaxi SQL bez jejího provedení?