如何检查是不是存在 aws redshift 表
Posted
技术标签:
【中文标题】如何检查是不是存在 aws redshift 表【英文标题】:How to check if a aws redshift table is present or not如何检查是否存在 aws redshift 表 【发布时间】:2021-09-15 18:25:13 【问题描述】:我有一个用例需要执行以下操作:
1.检查redshift_db.redhsift_tbl
是否存在?如果存在表,则执行操作 A,否则执行操作 B。
我正在查看 boto3 文档以获取一个 api,该 api 将告诉该表是否存在但没有运气。检查红移表是否存在的最佳方法是什么?
【问题讨论】:
您可以考虑查询PG_TABLE_DEF,其中列出了用户可见的表 【参考方案1】:有两种方法可供您选择。如果您使用的是外部编排工具,则此工具可以查询目录表(pg_table_def 或 stv_tbl_perm)并根据结果发出适当的下一个命令。或者,如果您需要 Redshift 来执行此操作,那么您将需要创建一个存储过程以根据检查目录表采取正确的操作。
【讨论】:
我必须从 pyspark-glue 脚本中以编程方式检查这个。你能告诉我该怎么做吗? 我建议您避免使用PG_TABLE_DEF
。它的编写方式是,尽管使用在工作节点上工作的系统表,但该表实际上只能在领导节点上工作。我通常使用“pg_class”,因为我更信任 Postgres 表而不是 Redshift 表。以上是关于如何检查是不是存在 aws redshift 表的主要内容,如果未能解决你的问题,请参考以下文章
仅当表存在时如何删除 Amazon Redshift 中的表