Redshift:在 5 分钟内自动从数据库中删除表

Posted

技术标签:

【中文标题】Redshift:在 5 分钟内自动从数据库中删除表【英文标题】:Redshift: Table is deleted from the DB with in 5 minutes automatically 【发布时间】:2018-01-23 12:57:06 【问题描述】:

我正在尝试使用 SQL 工作台使用以下命令在 redshift 数据库中创建表。

CREATE TABLE test_table (columnone varchar, columntwo varchar, 
columnthree varchar,columnfour varchar,columnfive varchar,columnsix 
varchar,columnseven varchar,columneight varchar);

创建成功。

我确认该表是从以下行创建的。并看到该表存在并且 table_type 是 BASE TABLE

SELECT * FROM information_schema.tables WHERE table_schema = 'public'; 

我能够将数据插入表中。

INSERT INTO test_table VALUES ('123456', '123456', 
'123456','123456', '123456','123456','123456','123456');

行插入成功

之后我执行了查询

 Select * from test_table 

我也能看到结果

但在 5 到 10 分钟后,表格被删除。

我通过执行以下行检查了数据库中的表不可用

SELECT * FROM information_schema.tables WHERE table_schema = 'public'; 

我用谷歌搜索并找不到任何东西。我是 redshift 的新手,SQL 在创建表时是否有任何错误。之前由其他人在此数据库中创建的表仍然可用。我还检查了之前创建表格的人无法弄清楚问题是什么

【问题讨论】:

5分钟后运行Select * from test_table会得到什么信息? 我看到以下错误:执行 SQL 命令时发生错误:select * from test_table [Amazon](500310) 无效操作:关系“test_table”不存在; 1 个语句失败。执行时间:0.16s 确保你“提交;”你的改变 在创建表后是否有类似提交的选项。你能分享一些关于它的信息吗?我与较早创建表的人核实过,他们从未做过提交之类的事情。 取决于您的连接方式,您可能需要提交;单独上线 - 只需提交即可。不会造成任何伤害 【参考方案1】:

根据 Jon Scott 的评论,我尝试使用 commit 命令,然后我也能在很长一段时间后看到表格。该表现在没有被删除。

commit; 

这是我创建表后立即执行的命令。

另外,经过这个我们必须在对表执行任何操作后执行这个提交,否则数据不会改变。

另外,在浏览 SQL 工作台连接窗口后,我看到了另一个选项。自动提交有一个复选框。如果我们选中复选框,那么我们不需要每次都执行提交命令

【讨论】:

以上是关于Redshift:在 5 分钟内自动从数据库中删除表的主要内容,如果未能解决你的问题,请参考以下文章

每 5 分钟删除重复项 [关闭]

UNLOAD 命令是不是从 redshift 中删除或删除数据?

是否有任何适用于 AWS Redshift 的开源调度工具?

Redshift ODBC 错误

Redshift 物化视图不刷新或删除

无法从 Redshift 中删除用户