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 分钟内自动从数据库中删除表的主要内容,如果未能解决你的问题,请参考以下文章
UNLOAD 命令是不是从 redshift 中删除或删除数据?