How can I create an in-memory table in PostgreSQL?
Well, it's not technically a in memory table, but, you can create a global temporary table:
create global temporary table foo (a char(1));
It's not guaranteed that it will remain in memory the whole time, but it probably will (unless is a huge table).
You can also consider PostgreSQL 9.1's unlogged tables, which will give you better performance at the cost of not being able to be part of transactions (their write operations are not maintained in WAL).
You can also consider PostgreSQL 9.1's unlogged tables, which will give you better performance at the cost of not being able to be part of transactions (their write operations are not maintained in WAL).
from @PabloSantaCruz
sample from 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)
)
I plan to try this, and thought it deserved it's own answer for users to vote on this option (i.e. the "long tail").
来源:https://stackoverflow.com/questions/7785419/in-memory-table-in-postgresql