sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur tar man bort varje tabell i ett specifikt schema i postgres?

Du kan använda ett anonymous code block för det.

Obs :Vi har att göra med DROP TABLE påståenden, och de är verkligen elaka om du gör ett misstag;) CASCADE alternativet släpper de beroende objekten också. Använd den med försiktighet!

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

Om du vill ta bort allt i ditt schema, inklusive omslag, sekvenser etc., överväg att ta bort själva schemat och skapa det igen:

DROP SCHEMA mySchema CASCADE;
CREATE SCHEMA mySchema;


  1. trunc och round-funktion i sql

  2. 5 snabba användbara tips för SQL Server Production DBA:er

  3. Hur kör jag en mysql-fråga i wordpress?

  4. Hur konfigurerar man rätt tidszon i JDBC?