嗯,从技术上讲,它不是内存表,但是,您可以创建一个全局临时表:
create global temporary table foo (a char(1));
Run Code Online (Sandbox Code Playgroud)
它不能保证它会一直保留在内存中,但它可能会(除非是一个巨大的表).
您还可以考虑PostgreSQL 9.1的未记录表,它将以不能成为事务的一部分为代价提供更好的性能(它们的写操作不在WAL中维护).
您还可以考虑 PostgreSQL 9.1 的无日志表,这将为您提供更好的性能,但代价是无法成为事务的一部分(它们的写入操作不在 WAL 中维护)。
来自@PabloSantaCruz
示例来自https://www.compose.com/articles/faster-performance-with-unlogged-tables-in-postgresql/
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)
)
Run Code Online (Sandbox Code Playgroud)
我计划尝试一下,并认为它值得用户对此选项进行投票(即“长尾”)自己的答案。