RU

Я ускорил запрос в 75 раз. Через две недели оказалось, что дело было не в запросе

Добавил фильтр по городу в подзапрос — туда, куда учебники и велят его ставить. На тестовой базе в 750 строк незаметно, на проде запрос стал висеть:…

postgresqltimescaledbгипертаблицыexplainпланировщикстатистикаоптимизация
Habr
RU

Бэкфилл должен был пометить одну строку, а пометил 321. Разбор миграции, которую пропустил зелёный тест

У нас есть сервис, который собирает продавцам XML-фид для автозагрузки Авито. В воскресенье 27 сентября я выкатил миграцию данных. По моему расчёту…

миграцииalembicpostgresqljsonbбэкфиллтестирование
Habr
RU

DBA Agent в действии: 10 тысяч тикетов и 99,6% автоматизации второй линии поддержки

Привет, Хабр! Это четвёртая статья цикла про R&D‑исследование для небольшой команды DBA. Мы начали с того, что решили упрост…

platform vсбертехии-агентымониторингбазы_данныхсубдpostgresql
Habr
RU

Я дважды неправильно объяснил один баг в ora2pg

У меня было объяснение, почему ora2pg теряет внешние ключи при переносе схемы в PostgreSQL. Я его опроверг, придумал новое и опроверг ещё раз. Насто…

ora2pgpostgresqlмиграция баз данныхmysqlmssqlвнешние ключиperlPG_VERSIONautovivificationотладка
Habr
RU

Практический GitHub Actions: полноценный CI/CD для FastAPI + PostgreSQL

В этой статье будет разбираться написание GitHub Actions пайплайна на основе моего стенда cicd-practice на GitHub (подробно все можно посмотреть там…

devopsfastapigithub actionspythontimeweb_статьиdockerpostgresqlавтоматизациявею-разработкасервер
Habr
RU

Четверо в одной транзакции: кейс-батлы, PgBouncer под Prisma и реплика, которая показывает пустой инвентарь

Обе мои предыдущие статьи про этот сайт с кейсами CS2 заканчивались списком того, чего в нём нет: платежей, депозита предметов, кейс-баттлов, рефера…

postgresqlконкурентностьтранзакциидедлокpgbouncerprismaрепликациякэшированиенагрузочное тестированиеnestjs
Habr
RU

Все пять safety-свойств Raft прошли. Две реплики разошлись

Реализация Raft на TypeScript под сидированной симуляцией: каждый тик, каждая задержка сообщения и каждое падение узла берутся из сида. На двадцать…

raftконсенсусдетерминированное тестированиемутационное тестированиеmodel checkingлинеаризуемостьизоляция транзакцийpostgresqltypescript.
Habr
RU

Я собрал конвейер аналитики банков на LLM-агентах. Показываю, где он остановил 7 из 31

У проекта есть работающий сайт: ortant.net . На нём 24 принятых исследования, десять досье банков, карта покрытия данных и раздел с методикой. Иссле…

llmии-агентыpostgresqlпарсингбанкикачество данных
Habr
RU

Предзагрузил пачкой — получил N² запросов. Как expire_on_commit превращает оптимизацию в квадрат

Бывают ошибки, которые не видит ни ревью, ни тесты: код отрабатывает правильно, прогон зелёный, а запросов к базе он делает в сто раз больше прежнег…

sqlalchemyormpostgresqlpythonn+1оптимизацияпроизводительностьexpire_on_commitпрофилирование
Habr
RU

Я написал ASGI-фреймворк, в котором дерево папок — это и есть API

Несколько месяцев пилил pet-проект, который зашёл дальше, чем планировал: файловый ASGI-фреймворк, где дерево папок — это и есть таблица роутов. Сег…

pythonasgiвеб-фреймворкormpostgresqlopen sourceбезопасностьтестированиебэкенд
Habr
RU

С телефона в Альпах в Microsoft Store за две недели: нативный GUI для PostgreSQL через облачный Claude Code

10 лет в .NET, отпуск в Альпах и pgAdmin, который меня достал. Начало июля, горный воздух, а в голове рабочая фрустрация. Ну сколько можно ждать по…

postgresqlavalonianativeaotdotnetguiclaudeагентная разработкаopen sourcemicrosoft storeбенчмарки
Habr
RU

Овцеводческая CRM, Узбекистан и .NET 10: семь инженерных историй с граблями

Мы делаем QoyHunter — учётную систему для овцеводческих хозяйств Узбекистана, с витриной животных, доставкой и блогом на соседних поддоменах. С точк…

.net 10asp.net corepostgresqltelegramoauth2oidcreactnginxssragritech
Habr
RU

Как мы тестируем Tantor Postgres для 1С от нагрузочных тестов до оптимизаций планировщика

Tantor Postgres 18 - масштабный релиз СУБД, за которым стоят месяцы тестирования, сотни часов нагрузочных прогонов и десятки исправлений, о которых…

tantortantor postgresтанторpostgresqlpostgresсубдтестирование1с
Habr
RU

Устанавливаем Digital Q.DataBase 18.2 на Astra Linux: PostgreSQL, MS SQL и Oracle в одной СУБД

Привет, Хабр! Меня зовут Жуйков Андрей, в Диасофт я занимаюсь развитием и продвижением СУБД Digital Q.DataBase. Импортозамещение СУБД перешло из раз…

субдsqlpostgresqlбаза данныххранение данныхit-инфраструктураbig datadigital q.database
Habr
RU

Как ораклист сертификацию по Postgres сдавал

Однажды я захотел узнать что-то новое по СУБД Postgres и структурировать уже имеющиеся знания. На помощь пришла программа сертификации. Рассказываю…

postgresqlpostgresoracleсертификатсертификациясертификация в итобучениеобразование
Habr
RU

Чтобы ваши тесты работали быстрее, нужен простой советский… xdist. Я измерил. Часть 2

В первой части я ускорил большой интеграционный pytest-сьют с получаса до полутора минут за счёт инфраструктурных правок. Во второй проверяю следующ…

pytestpytest-xdistpythonxdistинтеграционные тестыускорение тестовпараллельное тестированиеpostgresqlsqlalchemyredis
Habr
RU

PG_EXPECTO 10.1.3: Новые возможности нагрузочного тестирования СУБД PostgreSQL

Официальное предупреждение (дисклеймер) Настоящая статья подготовлена с использованием технологий искусственного интеллекта. В частности:…

postgresqlpostgresql performanceпуассоновский процесснагрузочное тестированиестатистический анализdeepseek
Habr
RU

SQL Оконные функции простым языком

Каждый SQL-разработчик помнит свое первое столкновение с конструкцией OVER(). Когда после понятных и уютных SELECT и GROUP BY ты видишь этот перегру…

sqlбазы данныхоконные функцииwindow functionsаналитика данныхобучение sqlrow_numberpostgresqlmysqlразработка
Habr
RU

Ваши тесты медленные не из-за базы данных. Я измерил

Есть устойчивое поверье: интеграционные тесты медленные, потому что ходят в настоящую базу. «Подними SQLite в памяти», «замокай репозитории», «не го…

pytestpytest-asyncioинтеграционные тестыPythonsqlalchemypostgresqlfixturesasynciocprofileevent loop
Habr
RU

Эту задачу спрашивают в ASTON, Альфе и Совкомбанке на java-собесе. Найдите 8 багов в 47 строках Spring — попробуйте сами

За две недели мне прислали несколько десятков расшифровок реальных собеседований — и в девяти подряд попалась одна и та же задача : ASTON, ТБанк, Ал…

javaсобеседованиекарьеракарьера программистабанкиpostgresql
Habr