Best viewed with LeechCraft on Microsoft Linux. Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1207.1 пользователей не могут ошибаться!
?6741
прекрасное6386
говно5815
говнорашка5470
хуита4608
anime2969
linux2569
bnw2555
music2488
рашка2270
log2266
ололо1884
pic1782
сталирасты1440
быдло1434
украина1398
дунч1396
дыбр1223
гімно1158
bnw_ppl1115

> То есть номера идут без серьезных пропусков и по нарастающей. > 5. После более внимательного изучения устройства баз данных (а мы исходим из того, что регистры Минздрава работают под управлением свободно распространяемой системы управления базами данных PostgreSQL, как указано в отчете о внедрении информационной системы) мы склонны считать, что номера из базы не удаляются и не присваиваются повторно другим людям. Редкое зрелище: тупорылый уебок, которому хочется разбить ебало, не понимает, как работают сиквенсы, и откуда в них дырки; при этом это не пидорас-айтишник, а пидорас-журналист.
#AME8DZ (5+1) / @komar / 52 дня назад
Че-то мне совсем разонравился постгрес. Планировщик — ебаное говно, которое расчитано на работу неоптимизированных запросов в неоптимизированной базе, которая хотя бы большими кусками помещается в оперативную память. Короче говоря — в распиздяйском окружении. А в условии ограниченных ресурсов все плохо. В итоге у меня на весь инстанс глобально стоит: 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 / 227 дней назад
Давайте переименуем pg_xlog в pg_wal, чтобы дебичи перестали чистить диск от «каких-то логов», а у нормальных людей все скрипты сломались к хуям.
#ADV64M (24) / @komar / 274 дня назад
как же хуево жить в мире где антиджоины тормозят
#4QVANU (0) / @komar / 323 дня назад
https://europepmc.org/article/med/32477687#free-full-text что это блядь за вольтрон-хуесос такой
#V8NSR6 (2) / @komar / 328 дней назад
til pg_restore -j вся жизнь коту под хвост
#BA1NSQ (2) / @komar / 333 дня назад
На какие грабли можно напороться, раздавая timestampz вместо timestamp налево и направо?
#YDLUVC (0) / @komar / 990 дней назад
Придумайте, почему я не хочу created_at timestamptz NOT NULL DEFAULT statement_timestamp() Я, конечно, хотел сделать now(), как и все. Но потом понял, в случае параллельных транзакций с блокировками одного ресурса у меня может случиться TIME PARADOX.
#8KJPJ1 (11) / @komar / 1028 дней назад
еб твою мать на хуй, на postgresql.org/docs редизайн закопуйте, это начало конца
#61IGXN (2+1) / @komar / 1072 дня назад
http://komar.in/ru/быстрое-агрегирование-в-postgresql найдите там ошибки за меня, лень читать
#8N12UN (14+1) / @komar / 1133 дня назад

TIL jsquery

#COQJES (0) / @kerrigan / 1136 дней назад
уебал в конфиге чекпоинты как хорошо-то стало сразу
#PV8U6N (0) / @komar / 1251 день назад
Сделал первый в своей жизни триггер. Спасибо, дядя Олег, за то, что у тебя индексы от функции не прошли.
#30U7FB (0) / @komar / 1251 день назад
Рекурсивный запрос для выбора трека для обновления с какого-то хуя пошел по пизде и стал выполняться две минуты. Благо в ночь с субботу на воскресенье. И чтобы меня запутать — еще и почта россии повалилась. А я на этот запрос еще логики навесил хитрой, так что пиздец полный, не разобрать уже, что и почему. Заменил на SKIP LOCKED, про который я в #6RCQXB прочитал. Вроде работает.
#6DGXKF (0) / @komar / 1280 дней назад
http://pgconf.org.np/ обосрался
#Y03YGW (3) / @komar / 1327 дней назад
Подключил, блять, второй сервер с воркерами. http://dump.bitcheese.net/files/golapow/rss2tg_update_interval-day.png Первые два зубчика на графике — это завис запрос от отвалившегося клента, зажав лок. Ничего страшного на самом деле, единственное что портится — это график, но я все равно с горящей жопой вручную искал источник пиздеца. Так главное — pg_cancel_backend() нихуя не прибивает. Вторые два — это оно уже само прибилося по настройкам в /proc/sys/net/ipv4/tcp_keepalive_* Все бы хорошо, но глобально в систему я их запихнул потому, что в postgresql.conf они тупо игнорируются. Прописаны, на другом сервере работают, а на этом SHOW показывает нули. Шо ж так хуево жить-то.
#VB40ZA (0) / @komar / 1337 дней назад
Ура, блять: зависшие транзакции в бекендах, подключения к которым давно сдохли. Куда этот постгрес ебнуть?
#MXLCAU (3) / @komar / 1338 дней назад
https://blog.2ndquadrant.com/what-is-select-skip-locked-for-in-postgresql-9-5/ ох ебать меня в рот, SKIP LOCKED надо попробовать где-нибудь, у меня сейчас везде на адвизори локах
#6RCQXB (0) / @komar / 1339 дней назад
test=> CREATE TABLE t AS SELECT * FROM (SELECT generate_series(1,10000) AS a) q1, (SELECT generate_series(1,2) AS b) q2; SELECT 20000 test=> CREATE INDEX i ON t (a); CREATE INDEX test=> EXPLAIN SELECT * FROM t ORDER BY a LIMIT 5; Limit (cost=0.29..0.44 rows=5 width=8) -> Index Scan using i on t (cost=0.29..620.29 rows=20000 width=8) test=> EXPLAIN SELECT * FROM t ORDER BY a, b LIMIT 5; Limit (cost=621.19..621.21 rows=5 width=8) -> Sort (cost=621.19..671.19 rows=20000 width=8) Sort Key: a, b -> Seq Scan on t (cost=0.00..289.00 rows=20000 width=8) Какого хуя?
#5Q3L4S (0+1) / @komar / 1347 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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