Mastering PostgreSQL JSONB type - вводное how to для новичков как использовать jsonb в Postgres, включая разные штуки типа доступа к элементам json и их индексации #postgres #howto
👍2🤔1
Расширение для Postgres, которое генерит разные короткие уникальные идентификаторы #postgres
💩1
Ещё одна штука забавная игрушка для #postgres - AI который, генерит схемы и скрипты. Надо попробовать поиграть с какими-нибудь хитрыми запросами. Наверное зайдет студентам, чтобы практику делать по СУБД :)
🔥4👍1💩1
Твиттер принёс статью про использование Postgres как search engine
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
Ну, pg_trgm и tsvector я давно использую и они работают на удивление хорошо. Да, сотен миллиардов записей у меня нету, но на миллионах - они работают как заявлено. #postgres
👍1💩1
Ещё одна статья про Postgres - How Postgres stores data on disk - полезно понимать как это всё храница на самом деле (файлы, страницы, записи) и в особенности потому что это легко к этому получить доступ (почти как в MSSQL, где тоже есть функции чтения на +/- таких данных низком уровне) #postgres
drew.silcock.dev
How Postgres stores data on disk – this one's a page turner | drew's dev blog
A high-level overview of how PostgreSQL stores data on disk, covering segments, pages and more.
👍3🔥1💩1
О ещё одна интересная статейка с картинками про оптимизацию в Postgres. По факту подход применим для многих реляционных СУБД, потому что плюс/минус форматы хранения у них часто похожи (записи/страницы). Разница в конкретных числах и некоторых особенностях хранения разных типов данных. #postgres
🔥2
Я тут ковырял MSSQL в одном проекте, а там использовалось page data compression для разного второстепенного барахла, что здорово сжимало данные и уменьшало IO. И надо сказать page data compression отлично подходит если данные меняются редко, а жмутся хорошо. И вспомнил, что в Postgres есть аналог, ну как аналог... штука, которую тоже можно использовать для сжатия данных - TOAST. И нашёл статью, где неплохо описывается в т.ч. структура (как оно лежит внутри) - и да, это полезно для понимания процессов и применения - где/когда можно, а где не стоит. #postgres
👍6🔥1
Ещё один закат солнца вручную - message queue поверх Postgres - pgmq.
Зачем? Не знаю.
Почему? Потому что могут!
Пытаюсь придумать кейс для использования, но что-то пока не выходит. Вроде и версия 1.45, хоть щас в прод! :))) #postgres
Зачем? Не знаю.
Почему? Потому что могут!
Пытаюсь придумать кейс для использования, но что-то пока не выходит. Вроде и версия 1.45, хоть щас в прод! :))) #postgres
🤔3🔥1
Интересная книга "The Internals of PostgreSQL" с картинками! По краткому прочтению - must have для разработчиков. #postgres
👍7
Пара статей (раз, два) про интересные индексы в Postgres типа BRIN (Block Range Index) - когда в индексе сохраняется мин/макс значения для блока страниц. Такой подход позволяет получить очень маленький объем индекса - единицы мегабайт даже для сотен миллионов записей (и можно поиграть с размером блока, основываясь на конкретных данных, чтобы понять какой вариант наиболее выгоден).
Но не забываем, что каждый инструмент имеет свои возможности и ограничения. #postgres
Но не забываем, что каждый инструмент имеет свои возможности и ограничения. #postgres
🤔2🔥1