备忘录


本篇文章是对日常容易忘记的知识点进行总结归纳,便于日后查阅.

1.Waline使用Neon数据库

(1)删除Neon数据库表

  • 删除所有用户创建的表 (CASCADE 会自动处理外键依赖)
DO $$ 
DECLARE 
    r RECORD; 
BEGIN 
    -- 按依赖顺序删除:先删子表,再删父表很难自动判断,但 CASCADE 会解决一切
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public') LOOP 
        EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE'; 
    END LOOP; 
END $$;
  • 删除所有用户创建的序列
DO $$ 
DECLARE 
    r RECORD; 
BEGIN 
    FOR r IN (SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = 'public') LOOP 
        EXECUTE 'DROP SEQUENCE IF EXISTS ' || quote_ident(r.sequence_name) || ' CASCADE'; 
    END LOOP; 
END $$;
  • 验证结果(应该返回 0)
SELECT 'Tables' as type, count(*) FROM pg_tables WHERE schemaname = 'public'
UNION ALL
SELECT 'Sequences' as type, count(*) FROM information_schema.sequences WHERE sequence_schema = 'public';
结语

文章作者: Awesone
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Awesone !
  目录