172 похожих чатов

Всем привет. А есть такой тип таблицы который храниться в

оперативной памяти - пусть хоть очищается при редуте сервера?
Ну временная таблица …

35 ответов

17 просмотров

unlogged. И да, конечно, они не обязательно хранятся в оперативной памяти. В линуксе это вообще не очень просто -- и потому не очень принято. Но, в общем, поскольку они не синхронизируются на диск никогда -- то если у памяти нет более важных вещей, то они будут висеть только в памяти.

Есть два вида: temporary — временные таблицы, существующие только в рамках одного подключения и не видимые для других подключений Unlogged — полноценные таблицы, видимые всем пользователям, но не пишущие информацию об изменениях своих данных в WAL. Соответственно, после перезагрузки/краха БД данных в ней не будет, сохранится только сама структура. Полагаю, что именно такой кейс Вы и имели в виду

Ilya Anfimov
unlogged. И да, конечно, они не обязательно храня...

Разве unlogged tables тоже не пишутся на диск? Я думал, у них поведение аналогичное обычным таблицам, но они только в WAL не отражаются, а сами данные всё-таки лежат на диске

Iurii Shaporenko
Разве unlogged tables тоже не пишутся на диск? Я д...

У них есть дисковое место, которое под них выделено -- но, вообще говоря, система не обязана это делать. И можэт отложыть запись до лучшых времён.

Dmitry-Runov Автор вопроса
Iurii Shaporenko
Есть два вида: temporary — временные таблицы, суще...

А как сделать чтобы они в памяти хранились?

Dmitry Runov
А как сделать чтобы они в памяти хранились?

Постоянно "прогревать", чтобы на диск не выгружались. Впрочем, это ко всем таблицам относится.

Anton Grishin
а как же checkpoint?

Так он WAL записывает в таблицы, а если таблицы нет в WAL...

Anton Grishin
а как же checkpoint?

Впрочем, он не обязательно выгружает страницы из памяти (какой бы то ни было).

Ilya Anfimov
Впрочем, он не обязательно выгружает страницы из п...

а как грязные блоки попадают в таблицу на диске? Или не попадают?)

Anton Grishin
а как грязные блоки попадают в таблицу на диске? И...

Отправляются сразу в файл при необходимости освободить shared_buffers, насколько я помню.

Ilya Anfimov
Отправляются сразу в файл при необходимости освобо...

ну и как это коррелирует с "Постоянно "прогревать", чтобы на диск не выгружались."?

Anton Grishin
ну и как это коррелирует с "Постоянно "прогревать"...

Если постоянно прогревать -- то необходимости освободить shared_buffers не возникнет.

Dmitry-Runov Автор вопроса
Ilya Anfimov
Постоянно "прогревать", чтобы на диск не выгружали...

Там будет 10-15 строк, может чуть больше. Я буду у них менять статусы enum. И это будет очень быстро. Т.е. в секунду 3 раза должен сменить у одной строки. Поэтому я подумал о памяти. У меня postgresql память почему-то не кушает. 8 гигов на VDS, 1,5% занято. Может буферный кэш проставить побольше, я так понимаю это параметр shared_buffers = 2GB

Dmitry-Runov Автор вопроса
Dmitry Runov
Нет. 10-15 строк, 5-10 столбцов

А данных, данных-то в столбцах сколько будет? В байтах?

Dmitry-Runov Автор вопроса
Dmitry Runov
1170 байт сейчас всего в таблице

ОК. И как тогда вы планируете чтобы у вас вашы гигабайты использовались?

Dmitry-Runov Автор вопроса
Ilya Anfimov
ОК. И как тогда вы планируете чтобы у вас вашы гиг...

Я вам посчитал пример одной таблицы. Временной.

Dmitry-Runov Автор вопроса
Ilya Anfimov
ОК. И как тогда вы планируете чтобы у вас вашы гиг...

Короче я перегрузил где-то 1/90 в постгресс от БД на MySql. Mysql занимал вместе с индексами 160 Гигов. А 1/90 от объекма занимает 254 мб. Любопытно. Постгресс экономнее походу.

Dmitry Runov
Короче я перегрузил где-то 1/90 в постгресс от БД ...

В цэлом -- нет, все накладные расходы в нормальных ситуацыях плюс-минус похожы. На порядок отличаться не будут. Собственно, накладные на тапл -- дажэ поменьшэ в mysql (нет xid, нет отдельного primary key). Возможно, там в mysql был index bloat высочайшый.

Dmitry-Runov Автор вопроса
Ilya Anfimov
Или вы индэксы забыли какие-то.

Ну парочку индексов, я делал. Но любопытно все равно. Еще я перед началом переезда я читал, что автовакуум работает по умолчанию и если не надо ни чего агресивно чистить, то и менять ни чего не надо. Сейчас захожу в конфиг. Автовакуум закоментирован :) .

Dmitry Runov
Я вам посчитал пример одной таблицы. Временной.

Ну, тогда я просто не вижу -- чего вы хотите. И зачем считаете одну временную таблицу небольшого размера.

Dmitry Runov
Ну парочку индексов, я делал. Но любопытно все рав...

Закомментированы обычно дефолтные значения.

Dmitry-Runov Автор вопроса
Ilya Anfimov
Ну, тогда я просто не вижу -- чего вы хотите. И за...

Я изначально спрашивал про временные таблицы в памяти. Потому что если я начинаю перебирать у меня скрипт эксепшион выкидывает, "не могу получить строку". Ну и в голове возникло 2 варианта: 1. Не смог создать подключение (сейчас я отработаю этот вариант) - много подключений, пуллер на своей стороне организую. 2. не успевает обработать данные. У меня еще на таблице стоит триггер который обрабатывает дату. Возможно еще дело в нем. В MySql я так же делал с такой же таблицей временной. Все работало. --- Триггер обновления даты и функция ее дергающая BEGIN; CREATE OR REPLACE FUNCTION update_last_work() RETURNS TRIGGER AS $$ BEGIN NEW.last_work = now(); RETURN NEW; END; $$ language 'plpgsql'; COMMIT; -- фукнция которая дергает триггер CREATE TRIGGER update_timestamp_last_work BEFORE INSERT OR UPDATE ON tableTmp FOR EACH ROW EXECUTE PROCEDURE update_last_work();

Dmitry-Runov Автор вопроса
Ilya Anfimov
Закомментированы обычно дефолтные значения.

Я думаю у меня автовакуум не включен.

Dmitry Runov
screenshot Я думаю у меня автовакуум не включен.

Можно просто посмотреть show all; Чем думать лишний раз.

Dmitry-Runov Автор вопроса
Ilya Anfimov
Можно просто посмотреть show all; Чем думать лишни...

Прикольно пишет что включен :) и track_counts тоже включен ...

Dmitry-Runov Автор вопроса

Похожие вопросы

Обсуждают сегодня

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Короче я тут узнал полный пиздец Что кучу постов которые я создавал через posted Спустя время не могу редактировать и менять Мол телега возвращае ошибку Это реально так ...
inc.
13
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
а вы в курсе, что Initialize() не работает? var arr123: array[0..123] of Byte; ... Initialize(arr123, SizeOf(arr123));
Iluha Companets
8
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
что читать по делфи?вообще 0 в нем
fd dsds
9
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
const dirname = new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new UR...
Kirill Shaplyko
4
Карта сайта