以下SystemJS.registerDynamic
or SystemJS.set
但不在Redshift中:
ALTER TABLE stats
ADD COLUMN IF NOT EXISTS panel_exit timestamp;
可以在Redshift中实现相同的功能吗?
答案 0 :(得分:5)
没有相当于ADD COLUMN IF NOT EXISTS
的Amazon Redshift命令。
要复制此功能,您的应用程序首先需要查询表元数据,然后决定是否发出ADD COLUMN
命令。
答案 1 :(得分:0)
John的回答让我朝着正确的方向前进,这是我在Redshift中发现最好的命令来检查列的存在。
SELECT EXISTS(
SELECT * FROM pg_table_def
WHERE schemaname = '<my_schema_name>'
and tablename = '<my_table_name>'
and "column" = '<my_column_name>'
);
请注意&#34;列&#34;周围的双引号是必需的,因为column
也是关键字。
此外,如果您感兴趣的表不在public
架构中。您可能需要先修改搜索路径,以便按预期返回结果:
set SEARCH_PATH to <schema_name>;
有关详细信息,请参阅PG_TABLE_DEF AWS Docs。