INSERT INTO "dict"."Districts"("Id",
Вот ровно из-за этого ошибка. В отличии от default nextval(seuence) (aka serial), GENERATED ALWAYS AS IDENTITY намеренно запрещает писать явные значения.
Либо вашему ORM нужно как-то дополнительно объяснить это, либо может быть вовсе не понимает стандартный GENERATED ALWAYS. Пора бы уже, 4 года этому синтаксису, но может у вас старая версия библиотеки?
Иван Шумов, попробуйте для ознакомления
Transactional Information Systems Theory, Algorithms, and the Practice of Concurrency Control and Recovery авторства Gerhard Weikum и Gottfried Vossen
Если кратко - вы ошибаетесь. Полностью.
Транзакции выполняются всегда последовательно, а любые другие запросы - параллельно.
Ни один SELECT не может быть выполнен вне транзакции в postgresql. Ваш ход?
Да, конкурентные процессы будут очень хорошо мешать друг другу работать, постоянно сбрасывая контекст друг друга и восстанавливая свой, это не бесплатная штука. Но десктопный пользователь глазом эту разницу не увидит. И для этого нужна очередь задач на CPU превышающая количество ядер. Нормально работающий планировщик ОС будет избегать постоянного мигрирования процесса между ядрами
Симптом характерен. ОС могла выгрузить в свап неиспользуемые страницы памяти чтобы более целесообразно использовать память под page cache и прочие фокусы жизни. При возврате к давно неиспользуемому приложению соответственно срочно достаём его части.
Попутно, в pg13 появился max_slot_wal_keep_size и уже стало проще со слотами, но тем не менее полезный вопрос к рассуждениям, а нужен ли вам слот репликации вообще. То есть учитываете ли, что забытый слот репликации гарантированно положит базу из-за бесконечного накопления WAL'ов. Обычно потерять отставшую реплику предпочтительнее, чем положить мастер. А потому вместо слотов для физической репликации у нас ставится разумной величины wal_keep_size и слоты репликации не используются.
Посмотрите внимательно на пример parseHeaders и подставьте простейший
HTTP/1.1 200 OK
Content-Type: text/html
на вход. С array_reverse и без него результат будет правильный и не правильный. Ещё интереснее, если взять заголовки от http 301 с включенным follow location, где ^HTTP/ может быть несколько.
мне кажется размер данных (~200-300 мегабайт) делает это решение не оптимальным...
Было бы 300гб данных или неизвестный объём - да, не предлагал бы так сходу, может быть предпочтительнее что-то умеющее работать с диском. А 300мб на весь экземпляр приложения - не проблема.
А это указано в исходных данных в вопросе: есть оценка максимального объёма данных, при том, при разворачивании приложения уже заранее знаем, сколько памяти нам нужно будет под эти данные.
Ну а если же начальные ограничения задачи ошибочны - то нет ничего удивительного в том, что можно пойти в неправильную сторону.
Отдельно отмечу, что второй ответ - redis - тоже не сможет держать в памяти только горячие данные, а остальное доставать по необходимости с диска. Аналогично будет держать весь массив данных в памяти.
По-моему, это несколько замечательных школьных задач по физике:
- рассчитайте, сколько энергии необходимо потратить на разогрев воды в кружке. Объём воды в кружке, начальная температура и желаемая конечная для конкретно ваших условий
- рассчитайте объём запасённой энергии в вашем аккумуляторе (внесистемные мАч перевести во что-нибудь стандартное)
Как раз дать практическое применение этого всего массива знаний, чего так не хватает в школьных программах.
Привычка, сэр. Вот в руках один девайс, прослуживший много лет. Который работает одновременно и под хранение всевозможных данных (драйвера те же) и для загрузки пачки разных версий ОС, да ещё всякая загрузочная мелочёвка, на которую жалко целую флешку выделять (memtest банально - и не надо вспоминать, на каком дистрибьютиве он есть встроенный в лёгком доступе). Когда просто не думаешь, от чего придётся отказаться, чтобы закатать другой дистрибьютив, а берёшь и кладёшь исошку рядом.
Подписывать и переподписывать флешки? Запоминать что на какой флешке? Зачем, просто берёшь и переключаешь образ.
У меня VE-200, ещё с usb 2.0, с тех времён, когда при заказе легко было услышать "вы знаете, уже все разобрали, следующая партия будет через неделю, могу для вас зарезервировать"
Не увидел в мануале упоминаний об ограничениях pci-e режима, только про шаренный sata написано. Попробуйте аккуратно протереть контакты. Как 3.0 x4 согласно мануалу завестить должен
Хотя кому эта полоса нужна?.. Вы должны делать что-то интересное, чтобы вас волновали seqscan/seqwrite, а не random i/o, которым и до 3.0 х1 далеко ещё
Режим передачи PCI-E 3.0 x2 (985мб/с *2) вместо паспортного PCI-E 4.0 x4 (1.97гб/c * 4). То есть шина заведомо уже в 4 раза. Вполне похоже на предел шины.
ну, для начала сделайте выражения синтаксически корректными. Тогда может быть станет понятно, что вы подразумеваете под "в поле secret добавить новую функцию"