PostgreSQL临时表是否已经是非记录的?

30

我正在处理一个数据库操作,它会产生大量的插入(约1500万条)。

目前我使用一个临时表来存储这些数据,因为在操作完成后不再需要这些数据。最近,我发现非记录表具有更好的插入性能,因此我想使用它。但是,在阅读文档时,我不确定临时表是否已经是非记录表?如果不是,有没有办法使它们成为非记录表?

如果我尝试像这样修改临时表:

alter table temp_table set unlogged;

我遇到了错误:[42P16] ERROR: cannot change logged status of table "test" because it is temporary

的翻译是:

我遇到了错误:[42P16] ERROR: 无法更改表“test”的日志记录状态,因为它是临时表

1个回答

40

临时表不会被WAL记录。

因为它们将随着数据库会话结束而消失,所以永远不需要恢复它们。


1
我正在执行create temp unlogged table,并收到错误消息syntax error at or near "unlogged"。这挽救了我的一天。 - Bertie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接