В корпоративной среде не всегда возможно установить терминал, который нравится, из-за ограничений безопасности. Но улучшить внешний вид командной строки возможно, просто немного дополнив кодом файл ~/.bashrc.
Спасибо за статью. Читал её ещё в 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(), спрятав все "сложности" внутри. Взял идеи из статьи и развил дальше. Модификация записей происходит пачками в отдельных транзакциях с контролируемым временем блокировки. Для удобства есть режим тестирования, отображение прогресса выполнения в процентах и приблизительного времени окончания работы! На многоядерных серверах распараллеливание в разы увеличивает скорость работы.
В корпоративной среде не всегда возможно установить терминал, который нравится, из-за ограничений безопасности. Но улучшить внешний вид командной строки возможно, просто немного дополнив кодом файл
~/.bashrc
.Было бы интересено посмотреть на результаты сравния производительности Firebird 5 и PostgreSQL 15 🙂
Много лет тому назад я подсмотрел очень интересную коцепцию SQL шаблонизатора с условными блоками у Дмитрия Котерова (dklab).
Потом сделал sql-template-engine, который уже несколько лет работает на одном крупном веб-сайте РФ.
Дополню:
sudo apt install git-filter-repo
Мой способ: https://github.com/rin-nas/postgresql-patterns-library/blob/master/README.md#как-сделать-журналирование-изменений-таблицы
Спасибо за статью. Читал её ещё в 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. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.
Для обновления или удаления миллионов записей в таблице БД под нагрузкой я сделал себе хранимую процедуру
loop_execute()
, спрятав все "сложности" внутри. Взял идеи из статьи и развил дальше. Модификация записей происходит пачками в отдельных транзакциях с контролируемым временем блокировки. Для удобства есть режим тестирования, отображение прогресса выполнения в процентах и приблизительного времени окончания работы! На многоядерных серверах распараллеливание в разы увеличивает скорость работы.к
pg_try_advisory_lock('queue_table'::regclass::oid
нужно дописать::int
, иначе будет ошибкаДобрый день, а https://postgrespro.ru/docs/postgresql/14/datatype-bit пробовали?
Postgresql > v14, https://commitfest.postgresql.org/36/3490/
Где можно скачать презентацию доклада Инты, массивы, внешние ключи, наследование (Иван Панченко)?
iuliia_translate.sql
Можно значительно уменьшить увеличение последовательности при возникновении дубликатов, если переписать запрос
Матвею Травкину превед! )
Вот ещё http://tika.apache.org