You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL:如何删除名称包含双引号的schema?

删除名为tenant__xyz的Schema操作步骤

前提说明

删除Schema前需确保你拥有DROP权限,操作前建议备份相关数据避免不可逆损失,同时确认没有业务系统正在使用该Schema,防止引发故障。


操作步骤

1. 确认Schema内的对象(可选但推荐)

先查看该Schema下的所有表、视图等对象,避免误删重要数据:

  • PostgreSQL:
    SELECT table_name FROM information_schema.tables WHERE table_schema = 'tenant__xyz';
    
  • MySQL:
    SHOW TABLES IN `tenant__xyz`;
    

2. 一键删除Schema及所有关联对象

如果需要连同Schema内的所有对象一起删除,可使用以下命令:

  • PostgreSQL:
    DROP SCHEMA tenant__xyz CASCADE;
    
    CASCADE参数会自动清理该Schema下的所有关联对象(表、视图、函数等)。
  • MySQL:
    MySQL没有直接的级联删除Schema命令,需先清理所有表再删除Schema:
    -- 生成并执行删除所有表的语句
    SET GROUP_CONCAT_MAX_LEN = 1000000;
    SELECT CONCAT('DROP TABLE IF EXISTS `', table_name, '`;') FROM information_schema.tables WHERE table_schema = 'tenant__xyz' INTO @drop_tables;
    PREPARE stmt FROM @drop_tables;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
    
    -- 删除Schema
    DROP SCHEMA IF EXISTS `tenant__xyz`;
    

3. 删除已清空的Schema

如果已经手动删除了Schema内的所有对象,可直接删除空Schema:

  • PostgreSQL:
    DROP SCHEMA IF EXISTS tenant__xyz;
    
  • MySQL:
    DROP SCHEMA IF EXISTS `tenant__xyz`;
    

内容的提问来源于stack exchange,提问作者Don

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:06:33