首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres大容量插入到不同的模式

问Postgres大容量插入到不同的模式
EN

Stack Overflow用户
提问于 2020-08-26 01:57:10
回答 4查看 697关注 0票数 2

我们目前将数据存储到Redis中,用于临时聚合,并且有一个worker可以批量插入Postgres。有没有一种方法可以在单个插入事务中跨多个模式进行批量插入?这将消除在Redis中聚合内容的需要。或者,有没有更好的方法来聚合请求?

提前感谢您的帮助。

EN

回答 4

Stack Overflow用户

发布于 2020-09-03 22:35:42

这真的取决于你对“单次插入事务”的理解。

一条INSERT语句只能影响一个特定表。但是,您仍然可以对事务执行BEGIN (取决于实现),在其中执行所有的INSERT,然后对事务执行COMMIT。这仍然比在许多事务上执行所有INSERT更有效,因为它避免了多余的“握手”。

https://www.postgresql.org/docs/current/sql-begin.html

票数 1
EN

Stack Overflow用户

发布于 2020-09-04 04:50:02

您是否尝试过创建引用两个表的可更新视图,然后在此视图中进行大容量插入?

票数 0
EN

Stack Overflow用户

发布于 2020-09-04 05:06:03

你在找这样的东西吗?

代码语言:javascript
复制
with data (c1, c2) as (
  values (1,2),(10,20),(30,40)
), s1_insert as (
  insert into schema_one.table_1(c1, c2)
  select c1, c2
  from data
)
insert into schema_two.table_2(col1, col2)
select c1, c2
from data;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63584604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档