Бабушка, смотри, я сделал двач! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1233.1 пользователей не могут ошибаться!
?6889
прекрасное6417
говно5870
говнорашка5500
хуита4687
anime3029
linux2631
bnw2581
music2576
рашка2540
log2328
ололо2094
pic1785
дунч1709
сталирасты1480
украина1437
быдло1423
bnw_ppl1339
дыбр1237
гімно1158

> The database was created using collation version 2.31, but the operating system provides version 2.36. С превеликим удовольствием узнал, что PostgreSQL из коробки поражен чумой XXI века юникодом. В случае выполнения определенных условий перед каждым обновлением libc надо останавливать к хуям базу, а после него — делать REINDEX, а иначе индексы начнут показывать погоду на марсе.
#6CQN8L (0) / @komar / 204 дня назад
=> SELECT CASE NULL WHEN NULL THEN 'null' ELSE 'not null' END; not null
#TA8X32 (2) / @komar / 240 дней назад
# SELECT int8range(1, 2, '[]'); int8range ----------- [1,3) да ебаное ты говно
#C1NP4K (0) / @komar / 319 дней назад
SKIP LOCKED работает не совсем ожидаемо, если блокируются строки из нескольких таблиц. То есть если сделать SELECT ... FOR UPDATE OF table1, table2 SKIP LOCKED, то строку в table1 он заблокирует без ожидания, а вот на table2 — встанет. Или ебнетеся с дедлоком, если нужна строка в table2 уже заблокирована и тоже ждет.
#GUS8BV (1) / @komar / 447 дней назад
pg_stat_statements заебись.
#ES7JDU (9) / @komar / 735 дней назад
> То есть номера идут без серьезных пропусков и по нарастающей. > 5. После более внимательного изучения устройства баз данных (а мы исходим из того, что регистры Минздрава работают под управлением свободно распространяемой системы управления базами данных PostgreSQL, как указано в отчете о внедрении информационной системы) мы склонны считать, что номера из базы не удаляются и не присваиваются повторно другим людям. Редкое зрелище: тупорылый уебок, которому хочется разбить ебало, не понимает, как работают сиквенсы, и откуда в них дырки; при этом это не пидорас-айтишник, а пидорас-журналист.
#AME8DZ (5+1) / @komar / 854 дня назад
Че-то мне совсем разонравился постгрес. Планировщик — ебаное говно, которое расчитано на работу неоптимизированных запросов в неоптимизированной базе, которая хотя бы большими кусками помещается в оперативную память. Короче говоря — в распиздяйском окружении. А в условии ограниченных ресурсов все плохо. В итоге у меня на весь инстанс глобально стоит: enable_bitmapscan = off enable_hashjoin = off enable_mergejoin = off — просто чтобы избавиться от появляющихся зависших запросов, из-за которых пользователи отфутболиваются по таймауту. Простой пример: изобретаем мы электронную почту. Делаем таблицу messages (user_id, date, ...) Делаем индекс для нее по (user_id, date DESC) Каждому пользователю показываем 50 последних писем при помощи WHERE user_id = ... ORDER BY date DESC. Ничего фантастического, самое обычное поведение самого обычного приложения. Все работает очень быстро: делается index scan и nested loop 50 раз. Но только покудова мы одновременно не джоиним messages с какой-нибудь второстепенной хуетой. Тут планировщик начинает делать bitmap index scan, потом hash/merge join, а потом sort by date DESC. Беда в том, что писем у пользователя может быть 100 штук, а может быть 100 000 штук. Bitmap index scan в этом случае выбирает целый миллион, потом все это «быстро» и «эффективно» (как задумывалось планировщиком) джоинится, потом фильтруется лишнее (до 100 000 строк), потом сортируется, потом берутся верхние 50 писем. В результате пользователь со ста тысячами писем не может зайти в свой почтовый ящик вообще: он видит только nginx gateway timeout. И ситуации подобные этой возникают постоянно. Иногда запрос работает хорошо, но только меняется аргумент в условии — все идет пиздой. Например, планировщик, которого попросили письма двухнедельной давности, может решить, что теперь-то эффективнее делать bitmap index scan — и все по-новой. Обычная статистика не помогает, потому что, как я уже говорил, писем может быть и 100, и 100 000. Но в среднем — голубцы. CREATE STATISTICS еще не опробовал. Надеюсь, конечно, что поможет, но едва ли это очевидное решение. Хуй, блять, знает, какие исходники надо ковырять, чтобы сделать планировщик ПЕССИМЕСТИЧНЕЕ. Чтобы, блять, если в теории возможно, что план по выборке 50 обоссаных писем может закончится бедой — он не пользовался этим планом. Хинтов в постгресе нет. Есть возможность отключать отдельные виды тактик на время сессии, и, по-моему, даже во время транзакции. Вообще, все это хуйня, и через «еб твою мать!» с ней можно справиться. Но основной тренд очень расстраивает.
#0QMYCY (8) / @komar / 1029 дней назад
Давайте переименуем pg_xlog в pg_wal, чтобы дебичи перестали чистить диск от «каких-то логов», а у нормальных людей все скрипты сломались к хуям.
#ADV64M (24) / @komar / 1076 дней назад
как же хуево жить в мире где антиджоины тормозят
#4QVANU (0) / @komar / 1126 дней назад
https://europepmc.org/article/med/32477687#free-full-text что это блядь за вольтрон-хуесос такой
#V8NSR6 (2) / @komar / 1130 дней назад
til pg_restore -j вся жизнь коту под хвост
#BA1NSQ (2) / @komar / 1135 дней назад
На какие грабли можно напороться, раздавая timestampz вместо timestamp налево и направо?
#YDLUVC (0) / @komar / 1792 дня назад
Придумайте, почему я не хочу created_at timestamptz NOT NULL DEFAULT statement_timestamp() Я, конечно, хотел сделать now(), как и все. Но потом понял, в случае параллельных транзакций с блокировками одного ресурса у меня может случиться TIME PARADOX.
#8KJPJ1 (11) / @komar / 1830 дней назад
еб твою мать на хуй, на postgresql.org/docs редизайн закопуйте, это начало конца
#61IGXN (2+1) / @komar / 1875 дней назад
http://komar.in/ru/быстрое-агрегирование-в-postgresql найдите там ошибки за меня, лень читать
#8N12UN (14+1) / @komar / 1935 дней назад

TIL jsquery

#COQJES (0) / @kerrigan / 1938 дней назад
уебал в конфиге чекпоинты как хорошо-то стало сразу
#PV8U6N (0) / @komar / 2053 дня назад
Сделал первый в своей жизни триггер. Спасибо, дядя Олег, за то, что у тебя индексы от функции не прошли.
#30U7FB (0) / @komar / 2054 дня назад
Рекурсивный запрос для выбора трека для обновления с какого-то хуя пошел по пизде и стал выполняться две минуты. Благо в ночь с субботу на воскресенье. И чтобы меня запутать — еще и почта россии повалилась. А я на этот запрос еще логики навесил хитрой, так что пиздец полный, не разобрать уже, что и почему. Заменил на SKIP LOCKED, про который я в #6RCQXB прочитал. Вроде работает.
#6DGXKF (0) / @komar / 2082 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.