DROP DATABASE - Amazon Redshift

从 2025 年 11 月 1 日起,Amazon Redshift 将不再支持创建新的 Python UDF。如果您想要使用 Python UDF,请在该日期之前创建 UDF。现有的 Python UDF 将继续正常运行。有关更多信息,请参阅博客文章

DROP DATABASE

删除数据库。

您不能在以下事务块中运行 DROP DATABASE:(BEGIN ... END)。有关事务的更多信息,请参阅 可序列化的隔离

语法

DROP DATABASE database_name [ FORCE ]

参数

database_name

要删除的数据库的名称。您不能删除 dev、padb_harvest、template0、template1 或 sys:internal 数据库,并且不能删除当前数据库。

要删除外部数据库,请删除外部架构。有关更多信息,请参阅 DROP SCHEMA

FORCE

指定了 FORCE 时,DROP DATABASE 会在删除数据库之前尝试终止活动连接。如果在超时时间内成功终止了所有活动连接,则继续执行删除操作。如果未能终止所有连接,则命令将引发错误。

DROP DATABASE 使用说明

使用 DROP DATABASE 语句时,请注意以下事项:

  • 通常,我们不建议您使用 DROP DATABASE 语句删除包含 AWS Data Exchange 数据共享的数据库。如果您这样做的话,有权访问数据共享的 AWS 账户 将失去访问权限。执行这种类型的更改可能会违反 AWS Data Exchange 中的数据产品条款。

    以下示例显示了删除包含 AWS Data Exchange 数据共享的数据库会出现的错误。

    DROP DATABASE test_db; ERROR: Drop of database test_db that contains ADX-managed datashare(s) requires session variable datashare_break_glass_session_var to be set to value 'ce8d280c10ad41'

    要允许删除数据库,请设置以下变量,然后再次运行 DROP DATABASE 语句。

    SET datashare_break_glass_session_var to 'ce8d280c10ad41';
    DROP DATABASE test_db;

    在这种情况下,Amazon Redshift 会生成一个随机的一次性值来设置会话变量,以允许对包含 AWS Data Exchange 数据共享的数据库执行 DROP DATABASE。

示例

以下示例删除名为 TICKIT_TEST 的数据库:

drop database tickit_test;