5.00 / 1 oy

PostgreSQL veritabanında tüm tabloları tek seferde silmek

Komut satırından veritabanı içerisindeki tüm verileri ve tabloları tek bir komutla silmenin yolunu arıyorum, ama veritabanını silmeden bu işlemi yapmam gerekiyor. Bu işlev için bir kod yazmak nasıl olabilir, tablolar arasından gezen bir döngü falan mı kurmalı?

kaanbey

27.07.2019 14:31

Bu soru 1 kez yanıtlandı.

  • 28 Temmuz 2019 00:29
    24

    Eğer bir veritabanından sadece belirli bir schema için tüm tabloları ve içerisindeki kayıtları silmek istiyorsanız:

    select 'drop table if exists "' || tablename || '" cascade;' 
      from pg_tables
     where schemaname = 'schemaAdi';

    Eğer bir veritabanı içerisindeki tüm schema'lardan tüm tabloları ve içerisindeki verileri silmek istiyorsanız aşağıdaki gibi bir query yazarak SQL script'ini oluşturabilirsiniz:

    select 'drop table "' || tablename || '" cascade;' from pg_tables;

    Eğer tüm veritabanınızda tek bir schema varsa ve fonksiyobları, tabloları, view'ları, özetle her şeyi silmek istiyorsanız:

    DROP SCHEMA public CASCADE;
    CREATE SCHEMA schemaAdi;

     

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
PostgreSQL veritabanında tüm tabloları tek seferde silmek

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.