我该如何在PostgreSQL中创建一个内存表?
实际上它并不是一个内存表,但是你可以创建一个全局临时表:
create global temporary table foo (a char(1));
不能保证它会一直存储在内存中,但很可能会(除非是一个巨大的表)。
您还可以考虑使用PostgreSQL 9.1的非记录表,这将在性能上获得更好的表现,但无法成为事务的一部分(它们的写操作不会在WAL中维护)。
CREATE UNLOGGED TABLE "EUR/USD_ticks"
(
dt timestamp without time zone NOT NULL,
bid numeric NOT NULL,
ask numeric NOT NULL,
bid_vol numeric,
ask_vol numeric,
CONSTRAINT "EUR/USD_ticks_pkey" PRIMARY KEY (dt)
)
我计划尝试这个方法,并认为它值得拥有自己的答案供用户投票选择(即“长尾”)。
UNLOGGED
,我很乐意删除此重复答案。 - yzorg