NOP::Nuances of Programming
56.8K subscribers
4.2K photos
11 videos
12 files
5.54K links
Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://xn--r1a.website/nophumor
NOP::Recruiter Удаленка- https://xn--r1a.website/nopremote

РКН: 4977653520
Download Telegram
pg_clickhouse 0.10: подзапросы уезжают в ClickHouse целиком

ClickHouse выпустил расширение Postgres pg_clickhouse 0.10.0, которое отдаёт аналитические запросы на ClickHouse. Планировщик теперь отправляет коррелированные подзапросы целиком, не строчка за строчкой. На TPC-H полностью «спущенных» запросов стало 16 из 22 вместо 12.

Q17 с расчётом среднего `l_quantity` ускорился с 32,7 сек до 37 мс (Postgres даёт 2,1 с). Гибрид обгоняет как старую версию, так и родной план Postgres.

Также переписали бинарный драйвер на новую C-библиотеку и исправили ошибки многопоточности.

Шесть запросов (Q13, Q15, Q16, Q18, Q20, Q21) всё ещё не уезжают: Postgres разворачивает их подзапросы в anti/semi-join, а деparser не может обойти деревья соединений с двух сторон. Перед использованием проверьте EXPLAIN VERBOSE, чтобы убедиться, что Remote SQL содержит полный запрос.

🔗 Подробнее

@nuancesprog #Data #Postgres
Как одна строка SQL превращает Postgres в read-only

Клиент PlanetScale получил лавину ошибок 25006: запись перестала работать без видимых причин. Причина — один эндпоинт выполнял SET SESSION CHARACTERISTICS AS TRANSACTION READ ONLY.

PgBouncer в режиме транзакций переиспользует соединения между клиентами. Настройка сессии осталась в соединении и «отравила» пул для всех последующих запросов.

Быстрое лечение — DISCARD ALL на всех соединениях пула, а не только на подозрительных. Надёжнее не трогать сессию вообще: читающий трафик отправляй на реплику.

🔗 Подробнее

@nuancesprog #Infrastructure #Postgres
👍3