sql >> データベース >  >> RDS >> PostgreSQL

postgresで特定のスキーマのすべてのテーブルを削除するにはどうすればよいですか?

    anonymous code blockを使用できます そのために。

    注意DROP TABLEを扱っています ステートメント、そしてあなたが間違えた場合、それらは本当に意味があります;)CASCADE オプションは、依存するオブジェクトも削除します。注意して使用してください!

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

    ラッパーやシーケンスなど、スキーマ内のすべてを削除する場合は、スキーマ自体を削除して再度作成することを検討してください。

    DROP SCHEMA mySchema CASCADE;
    CREATE SCHEMA mySchema;
    


    1. 子供のためにすべての親を取得します

    2. MySQLは、日付が日付の間にない行を選択します

    3. mysql_num_rowsの置き換えをお勧めしますか?

    4. MySQLデータベースから300,000行を選択中に504ゲートウェイタイムアウトエラーが発生しました