删除由 Amazon Redshift 创建的临时表

Posted

技术标签:

【中文标题】删除由 Amazon Redshift 创建的临时表【英文标题】:Drop temporary tables created by Amazon Redshift 【发布时间】:2019-08-02 06:21:23 【问题描述】:

我正在尝试删除由 Redshift 创建的临时表。 我使用以下查询来查找集群中的所有临时表:

select name, count(distinct id)
from stv_tbl_perm
where temp = 1
group by 1

我要删除的表名为$stg_inappshourly。 我尝试使用以下两种方法删除它:

drop table $stg_inappshourly
drop table stg_inappshourly

第一个返回语法错误。第二个删除了实际的表。

任何想法如何放下它?

【问题讨论】:

您为什么要这样做?临时表会在创建它的会话结束时自动删除。 同意上面的评论,你的用例是什么?你在“清理”吗?您只能在创建临时表的当前会话中删除临时表!你为什么用与实际表相同的名称来调用你的临时表?还是你?这些表在重新启动后是否仍然存在?它们的尺寸大吗? 【参考方案1】:

解决了。

这个表保持存在的原因是它的会话有一个错误,它没有按预期关闭。

我发现删除此表的唯一方法是重新启动 Redshift 实例。

【讨论】:

以上是关于删除由 Amazon Redshift 创建的临时表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Amazon Redshift 中的临时表列更新现有表中的列?

限制 Amazon Redshift 中架构的大小

仅当表存在时如何删除 Amazon Redshift 中的表

AWS DMS Redshift 作为目标

Matillion for Amazon Redshift 支持作业监控

Amazon Redshift 字符串列出删除多个单引号