1 тысяча запросов в секунду к одному сервису, ... 99.9% запись в базу делать не нужно
При использовании беззнаковых и выполнении --0, в итоге получим Access Violation
unsigned int x = 0;
--x;
А нет ли в постгресе какой-то команды или скрипта для проверки консистентности и автоматического исправления конфликтов между файлами и таблицами?
И в какую сторону копать, дабы разобраться с крашами?
Как я понял каждый relfilenode пересоздается после полного вакуума
Могли ли обращения сторонних программ к залоченным таблицам во время вакуума привести к этому?
И как теперь можно намекнуть постгресу, что часть файлов уже не нужна, чтобы ничего не сломать?
select name, relkind from pg_class where relfilenode = ...
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');
даже одиночные запросы оборачиваются в автотранзакции, поэтому этот сценарий потери апдейта в ms sql - чисто теоретический?
но при этом я почему-то хочу, чтобы при выполнении моих запросов существовало «грязное» чтение
Я понимаю, что он невозможен при уровне изоляции READ UNCOMMITED. Вопрос был в том, что тогда когда он возможен? Когда транзакции вообще нет?
То есть в идеальном случае до базы доходит 1 rps, но, поскольку ваш самодельный кэш с редисом неидеален, то получаем попыток записи в 2-3 раза больше, т.е. 2-3 rps. Так еще раз, а чем проблема?
Отдельный вопрос, конечно, что вы такое делаете с редисом, что он "не успевает сохранить строку".