Как стать автором
Обновить
1
0
RinNas @RinNas

IT

Отправить сообщение

В корпоративной среде не всегда возможно установить терминал, который нравится, из-за ограничений безопасности. Но улучшить внешний вид командной строки возможно, просто немного дополнив кодом файл ~/.bashrc.

Было бы интересено посмотреть на результаты сравния производительности Firebird 5 и PostgreSQL 15 🙂

Много лет тому назад я подсмотрел очень интересную коцепцию SQL шаблонизатора с условными блоками у Дмитрия Котерова (dklab).

Потом сделал sql-template-engine, который уже несколько лет работает на одном крупном веб-сайте РФ.

Дополню: sudo apt install git-filter-repo

Спасибо за статью. Читал её ещё в 2018-м. С тех пор пор прошло много времени. У меня есть альтернативная реализация "многопоточки". Там немного bash для распараллеливания и одна хранимая процедура на PL/pgSQL, чтобы скрыть все сложности внутри.

Патч очень объемный

Возможно ли его разделить на части и внедрять в СУБД постепенно? Большого слона нужно есть по частям. Разделяй и влавствуй )

Хорошая статья. Для более эффективной работы сотрудникам действительно нужно уметь лучше коммуницировать друг с другом.

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

Англицизмы, как и просторечье, допустимо употреблять в устной речи. В письменной лучше такого избегать. В случае неоднозначности русского слова/фразы можно указать в скобках по-английски, например: фиксация (commit).

Спасибо переводчикам за труд!

Небольшая шпаргалка по особенностям сравнения record и NULL

Testing a ROW expression with IS NULL only reports TRUE if every single column is NULL. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.

SELECT 
      (NULL, NULL) IS NULL as "(NULL, NULL) IS NULL", --true
      (NULL, NULL) IS NOT NULL as "(NULL, NULL) IS NOT NULL", --false
      NOT (NULL, NULL) IS NULL as "NOT (NULL, NULL) IS NULL", --false

      (1, NULL) IS NULL as "(1, NULL) IS NULL", --false
      (1, NULL) IS NOT NULL as "(1, NULL) IS NOT NULL", --false --!!!
      NOT (1, NULL) IS NULL as "NOT (1, NULL) IS NULL" --true --!!!

Для обновления или удаления миллионов записей в таблице БД под нагрузкой я сделал себе хранимую процедуру loop_execute(), спрятав все "сложности" внутри. Взял идеи из статьи и развил дальше. Модификация записей происходит пачками в отдельных транзакциях с контролируемым временем блокировки. Для удобства есть режим тестирования, отображение прогресса выполнения в процентах и приблизительного времени окончания работы! На многоядерных серверах распараллеливание в разы увеличивает скорость работы.

к pg_try_advisory_lock('queue_table'::regclass::oid нужно дописать ::int, иначе будет ошибка

Где можно скачать презентацию доклада Инты, массивы, внешние ключи, наследование (Иван Панченко)?

Можно значительно уменьшить увеличение последовательности при возникновении дубликатов, если переписать запрос

Матвею Травкину превед! )

1

Информация

В рейтинге
5 051-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность