PostgreSQL таблица в оперативной памяти

Для PostgreSQL хранения таблиц в оперативной памяти нужно создать TABLESPACE в каталоге смонтированным как ramfs.

Файловая система ramfs предназначена для того, чтобы использовать часть физической памяти сервера как обычный дисковый раздел.

mkdir /mnt/ramfs
mount -t ramfs ramfs /mnt/ramfs
chown postgres:postgres /mnt/ramfs
chmod 600 /mnt/ramfs

Командой mount можно задать максимальный размер выделяемого пространства добавив параметр -o, например: -o size=300m

Далее в базе данных PostgreSQL из под суперпользователя выполняем команды:

CREATE TABLESPACE ram LOCATION '/mnt/ramfs';
CREATE TABLE test (
  id integer NOT NULL,
  ts timestamp NOT NULL,
  vl float8
) TABLESPACE ram;

Теперь таблица находится в оперативной памяти.

Заполним таблицу тестовыми данными:

insert into test select id, current_date + id * '1 hour'::interval, random()::float8 from generate_series(1, 100) as id;