本篇文章是对日常容易忘记的知识点进行总结归纳,便于日后查阅.
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';