如何保留超过 5 天的查询日志?

2024-06-21

在 Redshift 中,有一个STL_QUERY存储过去 5 天运行的查询的表。我正在尝试找到一种方法来保存超过 5 天的记录。以下是我考虑过的一些事情:

  1. 有红移设置吗?看来不是。
  2. 我可以使用触发器吗? Redshift 中不提供触发器,因此这是不行的。
  3. 我可以创建一个 Amazon Data Pipeline 作业来定期“抓取”STL_QUERY桌子?我可以,所以这是一个选择。不幸的是,我必须为管道提供一些 EC2 实例来运行这项工作。让一个实例每天坐在那里刮擦这张桌子似乎是一种浪费。
  4. 我可以使用 Amazon Simple Work Flow 作业来抓取表吗?我可以,但它遇到了与 3 相同的问题。

我还缺少其他选择/想法吗?我更喜欢一些不涉及我专用 EC2 实例的其他选项,即使这意味着支付额外的服务费用(前提是它比我使用的 EC2 实例便宜)。


保持简单,一切都在 Redshift 中完成。

首先,使用“CREATE TABLE … AS”将所有当前历史记录保存到永久表中。

CREATE TABLE admin.query_history AS SELECT * FROM stl_query;

二、使用psql要运行它,请在您控制的计算机上安排一个作业每天运行它。

INSERT INTO admin.query_history SELECT * FROM stl_query WHERE query > (SELECT MAX(query) FROM admin.query_history);

完毕。 :)

Notes:

  • 您需要 8.x 版本psql如果你还没有设置这个。
  • 即使您的作业几天没有运行,stl_query 也会保留足够的历史记录来覆盖您。
  • 根据您的评论,使用开始时间而不是查询作为条件可能更安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何保留超过 5 天的查询日志? 的相关文章

  • 如何将 IPSec / Openswan 与 Amazon 的虚拟私有云 (VPC) 和 EC2 结合使用?

    有谁知道如何使用 Openswan 在 EC2 上创建到 Cisco 路由器的 IPSec 隧道 我一直读到人们可以或不能在亚马逊云上设置 IPSec 隧道 可能还是不可能 如果是这样 有人可以指点我一个成功的教程吗 Update AWS
  • Cors政策不允许上传

    谁能告诉我我是否在这里错过了什么 这已添加到相关存储桶中的 CORS 策略中
  • 无法使用模式 r: fopen(): AWS Elastic Beanstalk 打开

    错误 无法使用模式 r fopen 打开 文件名不能为空当我尝试上传较大的文件 超过 5MB 时 我不断收到此错误 我已将 PHP 应用程序上传到 AWS Elastic Beanstalk 并将文件上传到 AWS S3 我的代码中甚至没有
  • AWS:在 Redshift 中自动查询

    我想自动化每天运行的 redshift 插入查询 我们实际上使用的是aws环境 有人告诉我使用 lambda 不是正确的方法 这是在 Redshift 中自动执行查询的最佳 ETL 流程 要在 Redshift 上自动化 SQL 您有 3
  • AWS DynamoDB 限制写入请求处理

    我有一个在指定时间限制写入请求的表 我想更多地了解 AWS SDK 如何处理它们 根据我目前的理解 DynamoDB 将向我的 Lambda 返回错误 这就是为什么我会在 DynamoDB 表指标中出现用户错误 但是 AWS SDK 具有错
  • DynamoDB 并发写入

    我有一个现有的 DynamoDB 表 其属性如下 hk hash key rk range key a1 a2 a3 我有一个现有的 DynamoDb 客户端 它只会更新 a1 的现有记录 我想创建第二个编写器 DDB 客户端 它也将更新现
  • 将 R 数据集中的数据写入 Redshift

    我使用 RPostgreSQL 包将 R 连接到 amazon Redshift 我可以连接 创建和删除表 查询数据库 将数据保存到 R 数据框架中并手动插入值 我不能做的是将数据插入直接从 R 数据帧读取的 Redshift 中 并且由于
  • 无法使用 iam:PassedToService for CodeBuild 传递角色

    我试图让用户执行codebuild StartBuild 同时限制iam PassRole仅将自定义 codebuild 角色传递给 CodeBuild 服务 罐头政策从不限制iam PassRole 甚至使用 Resource 有效地允许
  • 私有 EC2 和 HTTP 流量中的 AWS 应用程序

    我有一个应用程序在私有子网的 EC2 实例中运行 以增加额外的安全性 直接从与公共子网关联的面向互联网的 NLB 接收流量 我还在公共子网中配置了一个 NAT 网关 以便私有 EC2 实例可以从 Internet 下载所需的任何内容 我刚刚
  • 如何授予 Amazon Redshift 用户读取系统表、视图、日志等的访问权限?

    我在 Amazon Redshift 中有一个用户 我希望该用户能够对系统表进行只读查询 http docs aws amazon com redshift latest dg cm chap system tables html http
  • 从 aws Glue 脚本调用存储过程

    ETL 作业完成后 在 AWS Glue 脚本中调用存储过程的最佳方式是什么 我正在使用 PySpark 从 S3 获取数据并将其存储在临时表中 在这个过程之后 需要调用一个存储过程 该存储过程将数据从临时表加载到相应的 MDS 表中 如果
  • 从 aws elastic beanstalk 中的 .ebextensions 文件夹运行脚本

    我正在尝试从上传战争时运行脚本 所以这里是配置的内容 container commands 01 setup apache command cp ebextensions enable mod deflate conf etc httpd
  • Vue 和 Axios + AWS API 网关和 Lambda - CORS + POST 不起作用

    我正在尝试通过 AWS API Gateway 创建一个 API 测试函数 以及一个通过 Axios 的 Vue 应用程序调用的 Lambda 函数 它应该从输入元素发送姓名和电子邮件 每次我收到此错误时 Access to XMLHttp
  • 通过ELB访问AWS EC2实例

    我试图在弹性负载均衡器下设置两个实例 但无法弄清楚应该如何通过负载均衡器访问这些实例 我已经使用安全组设置了实例 以允许从任何地方访问某些端口 我可以使用 公共 DNS publicdns 主机名和端口 PORT 直接访问实例 http p
  • Postgres 数据库中特殊的时区处理

    我的环境 I m in 法国巴黎 UTC 1 or CET It s 12am 00 00 我们在2016 年 11 月 25 日 My Postgres数据库托管于亚马逊网络服务 AWS RDS 在eu west 1 region 问题
  • Django - 在处理端点请求之前验证 AWS Cognito 令牌是否有效

    因此 我使用下面的代码来检查 AWS Cognito 令牌 我显然不想将这 6 行代码添加到每个端点 另外 我不知道这是否是验证我正在做的所有事情的正确方法 即期望令牌的格式为 解析它并仅解码 JWT 令牌部分 如何对每个请求附带的 AWS
  • Amazon s3:直接上传与预签名 URL

    我正在使用 AWS SDK for NET 并且正在寻找一种让用户直接上传到 s3 存储的方法 我遇到过 aws 提供的两种不同的方式 基于浏览器的上传 https docs aws amazon com AmazonS3 latest A
  • 弹性豆茎领导者选举问题

    我们有一个 Rails 应用程序 几个月来一直运行良好 今天我们发现了领导人选举的一些不一致之处 主要是 su leader only bundle exec rake db migrate webapp 经过几个小时的反复试验 以及数十次
  • 将 GitLab CI 变量注入 Terraform 变量

    我有一组 Terraform 文件 特别是一个 Variables tf 文件 它保存了我的变量 如 aws 访问密钥 aws 访问令牌等 我现在想使用 GitLab CI CD 在 AWS 上自动创建资源 我的计划如下 编写 gitlab
  • AWS Codepipeline 是否会将符号链接传递到工件中的 Codebuild

    我的 github 存储库中有一些符号链接 当我有一个直接从 github 克隆的 Codebuild 项目时 符号链接会被保留 我进行了切换 以便 Codepipeline 监听我的更改devgithub 中的分支 并将工件传递给 cod

随机推荐