gpt4 book ai didi

sql - 我可以使用 SQL 语言插入以编程方式定义的 PostgreSQL 表吗?

转载 作者:行者123 更新时间:2023-11-29 11:37:12 25 4
gpt4 key购买 nike

上下文:我正在尝试在分区表中插入数据。我的表是按月分区的,因为我有很多数据(而且数据量预计会增加),而且最近的数据查询频率更高。欢迎对分区选择发表任何评论(但非常欢迎回答我的问题)。

documentation有一个分区示例,在其中插入一行时,会调用一个触发器来检查新数据日期并将其相应地插入到正确的“子”表中。它使用一系列 IF 和 ELSIF 语句,每个月一个。维护它的人(或女孩)必须每月创建一个新表并更新触发器函数。

我不太喜欢这个解决方案。我想编写一些可以完美运行的代码,并且我不需要时不时地更新,而且它会比我和我的孙子们活得更久。

所以我想知道我是否可以制作一个看起来像这样的触发器:

INSERT INTO get_the_appropriate_table_name(NEW.date) VALUES (NEW.*);

不幸的是,我所有的尝试都失败了。我尝试使用“regclass”的东西但没有成功。

总之,我想组成一个字符串,作为表名。这可能吗?

最佳答案

我正准备使用EXECUTE 编写一个触发器函数,根据now() 的date_parts 插入到表中,或者如果不应该先创建它存在 .. 当我发现有人已经为我们做了那件事时 - 就在您提到自己的文档章节下:
http://www.postgresql.org/docs/9.0/interactive/ddl-partitioning.html

一直向下滚动到用户“用户评论”。 Laban Mwangi 发布了一个示例。

更新:

Postgres 手册的 /interactive 分支已被删除,链接被重定向。所以我指的评论不见了。稍后查看这些密切相关的答案以获取详细说明:

对于分区,目前有更好的解决方案,例如 Postgres 10 或更高版本中的范围分区。示例:

关于sql - 我可以使用 SQL 语言插入以编程方式定义的 PostgreSQL 表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7433881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com