如何在 Redshift 中安排 DDL 定义视图(pg_catalog 表)的每日备份

Posted

技术标签:

【中文标题】如何在 Redshift 中安排 DDL 定义视图(pg_catalog 表)的每日备份【英文标题】:How to schedule a daily backup of DDL definition view (pg_catalog table) in Redshift 【发布时间】:2019-11-30 18:49:36 【问题描述】:

我们生成了很多 DDL 视图。我想在 pg_catalog 或 information_schema 中创建所有 DDL 视图的备份,它每天都会自行更新。

例如: 如果昨天的查看次数是 10,而我今天又创建了 5 个查看,则备份表应在特定时间从 10 更新到 15。

【问题讨论】:

您是否使用任何 ETL 工具或任何框架来加载数据运行/调度作业?在DDL_History 表中创建一个简单的插入 Sql 并安排它。 嗨它只是一个简单的表,我想保留备份。所以备份表将从现有表中获取数据。我希望它每天都这样做。没有ETL工具或任何东西。你能举个例子吗? 创建 SQL 以将数据从一个表移动到另一个表很容易。您需要一个调度程序来每天运行该 SQL,因为您无法在 Redshift 或任何其他数据库中进行调度。它可以是 Lambda 函数、cron 作业、简单的 python 脚本等。这是您需要决定使用什么的部分。 【参考方案1】:

您可以编写一个预定的 lambda 函数来查询以查找视图数量,然后根据该查询更新备份表。可以在here 找到有关如何从 lambda 函数连接到 Redshift 集群的文档。

【讨论】:

嗨,我想使用 sql 查询来完成 不幸的是,没有办法单独使用 Redshift 进行预定查询...您可能希望创建一个 lambda 来每天为您执行此查询。这当然是假设您不想每天手动执行查询 :) 您可以在这里找到更多信息:***.com/questions/42564910/…

以上是关于如何在 Redshift 中安排 DDL 定义视图(pg_catalog 表)的每日备份的主要内容,如果未能解决你的问题,请参考以下文章

需要使用 Firebase 在表格视图控制器 Xcode 7 中安排显示模式

如何将 Aurora Mysql ddl 翻译成 Redshift ddl

如何在 CouchDB 中安排索引更新

如何在 Redshift 或 Postgres 的视图中获取列依赖关系?

如何使用 DDL 设置授权视图?

AWS Redshift 脚本导出