Как стать автором
Обновить
173.19

PostgreSQL *

Свободная объектно-реляционная СУБД

Сначала показывать
Порог рейтинга
Уровень сложности

Правильная работа с базой данных на Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров27K

Эта статья рассчитана в большинстве своём на новичков. Тут мы поговорим о том, как не упереться в лимиты подключений к базе, и чтобы приложение в продакшн не упало.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии24

Немного про OR в SQL запросах

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров12K

Несмотря на избитость темы и многочисленные рекомендации избегать OR в выражениях WHERE/ON SQL запросов, жизнь вносит свои коррективы. Иногда сама постановка задачи подразумевает необходимость использовать OR. Я не собираюсь здесь рассматривать простые случаи, а сразу возьму быка за рога и рассмотрю случай, когда OR должно привести к двум разным выборкам по разным индексам одной и той же таблицы.

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Комментарии26

Postgresso 12 (61)

Время на прочтение9 мин
Количество просмотров4.4K

В эти предновогодние дни перегружать вас техническими деталями не будем. И даже не всё в этом выпуске будет вертеться вокруг СУБД и SQL. Начнём, впрочем, с такой серьёзной новости:

Postgres Pro Enterprise 16.1.1

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

Оптимизация на лету: Как правильная методология разработки в 1С сокращает отчетность с минут до секунд

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров4.6K

Автоматизация процессов выглядит как задача без конца, не так ли?

Давайте подумаем, как можно упростить этот путь.

Существуют определенные стандарты программирования, которым нужно следовать разработчикам — зачем же они нужны?

Ответ лежит на поверхности: целью наших разработок, создаваемых совместно с вами, является облегчение ваших повседневных дел во внутренней энергетике бизнеса.

Когда программное решение превращается в препятствие, вместо того чтобы быть инструментом, возникает вопрос – зачем оно вообще нужно?

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии30

Истории

И послала жена мужика из башни Вулыха со списком к празднованию Нового года

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K

В шедевральном мультфильме "Падал прошлогодний снег" строгая, но авторитетная жена послала мужика за ёлкой в лес. Главный герой же не особо сконцентрирован на основной цели своей предновогодней прогулки и отвлекался на все что только можно. Представим теперь, через 40 лет их дом попал под программу реновации, а они переехали почти в центр Москвы и живут теперь в башне типовой советской постройки. Отправила жена его, в этот раз со списком покупок к Новому году.

Как и демотивированный программист, мужик подвержен прокрастинации. Поручение не выполнил и бесцельно обошел все что представляет хоть какой-то интерес в радиусе 1.5км от их квартиры в башне Вулыха. Нарисовать вероятный путь его праздношатания у дома достаточно просто...

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Использование Postgres-триггеров для исторических таблиц

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров7K

В динамичной среде управления базами данных постоянно присутствует необходимость фиксировать и понимать изменения данных с течением времени. Начните управлять временем с использованием Postgres-триггеров, которые открывают легкий путь к сложному решению — историческим таблицам.

Представьте себе мир, в котором каждое изменение вашей базы данных оставляет след, фиксирующую эволюцию ваших данных. В этом заключаются перспективы исторических таблиц — концепции, которая выходит за рамки традиционных ограничений проектирования баз данных. В этом исследовании мы углубимся во временное измерение PostgreSQL, раскроем возможности Postgres-триггеров и их ключевую роль в создании и обслуживании исторических таблиц.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Использование On-Logon триггеров в СУБД Postgres Pro Enterprise

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.7K

Триггеры On-Logon хорошо знакомы разработчикам приложений для СУБД Oracle Database.
On-Logon триггер является одним из видов триггеров событий базы данных, и автоматически срабатывает при подключении пользователя к БД.

В СУБД Postgres Pro Enterprise, еще в версии 14, среди прочих расширенных возможностей, была добавлена поддержка On-Logon триггеров.
В данной статье речь пойдет о данной функциональности, а также будет приведено сравнение с аналогичной функциональностью в СУБД Oracle Database.

Стоит отметить, что поддержка On-Logon триггеров будет добавлена в следующий мажорный релиз open source СУБД PostgreSQL - в версию 17.
Компания Postgres Pro передала свою реализацию этой технологии сообществу PostgreSQL.

Данный пример ярко характеризует модель развития СУБД PostgreSQL.
Идеи и их реализации, апробированные компаниями в коммерческих форках, передаются в open source. С другой стороны, компании точно также получают наработки open source в свой коммерческий форк.

Это формирует устойчивую ситуацию взаимовыгодного сотрудничества коммерческих компаний и open source сообщества. Эта ситуация может оказаться более долговечной, чем отдельные коммерческие компании или открытые продукты.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии7

PostgreSQL в «Тензоре» — публикации за год (#4)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.8K

Под занавес уходящего года предлагаю традиционно вспомнить, про какие интересные возможности и особенности работы с PostgreSQL мы рассказали в нашем блоге.

Если не видели дайджест за прошлый год — время наверстать упущенное!

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Как сделать первый деплой Java приложения на удаленный сервер. Инструкция от/для новичка

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.9K

Как любой начинающий вкатун, который написал свое первое стартап приложение мне захотелось сделать его достоянием общественности доступным через Интернет. Долгие часы поиска не давали особых результатов, поскольку все что мне удавалось найти было только кусочками пазла, а полную картину я не мог увидеть, в силу отсутствия опыта и наличия наставника. После месяца проб и ошибок я сумел получить доступ к приложению через удаленный сервер.

Так у меня и родилась идея сделать одну полную инструкцию (прежде всего для себя), где в одном месте будет описан процесс деплоя. Если Вы читаете эту статью, значит мне удалось решить проблему «первой публикации приложения на сервер». К Вашему вниманию любимая рубрика «инструкция для чайников – как самостоятельно сделать свой первый деплой».

Дисклеймер:

Я классический вкатун с полного нуля; Java первый и на момент написания статьи единственный язык программирования, который я знаю; это моя первая статья; в этой статье нет рекламы; я не проходил платных курсов; у меня нет регулярного ментора.

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии28

PostgreSQL: вернуть место после delete

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.5K

У вас есть таблицы, либо ряд таблиц, строки которых нужно очистить и единственный способ, которым вы можете это сделать - это операция DELETE.

Помимо очевидной цели - очистки ненужных данных из таблицы, хотелось бы также увеличить свободное место в области диска, доступного для данных postgresql. Но при определенных условиях - операция DELETE не возвращает место, а операция UPDATE дополнительно его забирает.

Читать далее
Всего голосов 14: ↑11 и ↓3+8
Комментарии9

Архивная репликация в PostgreSQL: пошаговая инструкция

Время на прочтение9 мин
Количество просмотров7.6K

Разбираем c Григорием Тарасенко, инженером команды SQL на примере, как реплицировать базы без использования слотов репликации.

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Комментарии8

PostgreSQL 17: Часть 3 или Коммитфест 2023-11

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров3.6K


Ноябрьский коммитфест принес немало интересного! Без лишних предисловий приступаем к обзору.


Самое интересное об июльском и сентябрьском коммитфестах ― в предыдущих статьях серии: 2023-07, 2023-09.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0

SQL HowTo: итоги по строкам и столбцам «в одно действие»

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров14K

Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе.

Читать далее
Всего голосов 27: ↑27 и ↓0+27
Комментарии14

Ближайшие события

Победа над ORM путем кодогенерации

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров12K

Сразу хочу отметить перед читателем, что это не просто вольные рассуждения на тему, а в том числе и презентация моей библиотеки для Python, которую можно найти на github и установить через pip, и которая трудится в моей многопользовательской игре как SQL движок проекта.

Проблемы ORM известны всем, кто хоть раз ими пользовался. Об этом существует множество статей как у нас, так и в зарубежных источниках. Эти проблемы в общем можно объединить довольно сложным термином Object‑relational impedance mismatch, что позволю себе вольно перевести как «Объектно‑реляционная разница потенциалов».

Альтернативой использованию ORM всегда было использование чистых драйверов баз данных и написание сырых SQL запросов, которые в свою очередь очень тяжело поддерживать и рефакторить в реальных проектах.

В этой статье я не буду хаять ORM (до меня это уже делали на протяжении без малого полуторадесятка лет), но хочу предложить альтернативный путь к решению задачи доступа к базе данных из потенциально любого другого ЯП.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии51

Жилье в Москве для здорового образа жизни

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.7K

Группа Ленинград в их клипе про ЗОЖ преувеличивала последствия неумелого злоупотребления спортом в угоду зрелищности, но я согласен с ними что ко всему надо подходить с умом, без фанатизма. В Москве у меня есть друзья, которые покупают абонемент на фитнес и ходят туда не только первый и последний месяц его действия и не за пару недель до начала купального сезона.

Если вам важен спорт, то жить рядом с объектами спортивной инфраструктуры это не просто удобство, это основа здорового образа жизни.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии4

Как мы переезжали с PostgreSQL на Data Lake в AWS и какие грабли собрали по пути

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров6.4K

За несколько лет Whoosh в несколько раз вырос по числу самокатов, пользователей и локаций, а данных по ним накопилось на 30 терабайт. Прежней архитектуры уже не хватало для работы. К тому же платить за I/O (input/output)-операции на Aurora (PostgreSQL) выходило дорого (тогда еще не было I/O‑optimized версии, однако с ее появлением, актуальность не исчезла). Другое дело — Redshift: расходы постоянны (n$/час), а работает он быстрее, благодаря колоночному формату хранения данных. В этом году мы переехали с одного хранилища на базе PostgreSQL — того, где вся отчётность для бизнеса и модели dbt — на рельсы Data Lake в AWS.

Меня зовут Никита Зеленский, я главный по данным в Whoosh. Эту статью я написал вместе с другими участниками переезда — Пашей Сивохиным, ГИС-аналитиком, и Костей Малыхиным, руководителем группы анализа данных. Надеюсь, наш опыт будет полезен всем, кому предстоит миграция данных, особенно если вы работаете с геоаналитикой.

whoooooosh
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Проектирование БД рекомендательной системы по подходу DB-first

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.9K

В данной статье мы рассмотрим проектирование системы по подходу DB-first и то, какие проблемы он помогает не просто решить, а устранить как явление.

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии10

Курс «PostgreSQL для начинающих»: #2 — Простые SELECT

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров17K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

Сегодня поговорим о самых простых, но важных, возможностях команды SELECT, наиболее часто используемой при работе с базами данных - формировании выборок (VALUES), их ограничении (LIMIT/OFFSET/FETCH), фильтрации (WHERE/HAVING), сортировке (ORDER BY), уникализации (DISTINCT) и группировке (GROUP BY).

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.9K

На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux. К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования.

Приступить к чтению
Всего голосов 10: ↑7 и ↓3+4
Комментарии20

«Один PostgreSQL, чтобы править всеми»: запись эфира-дискуссии

Время на прочтение1 мин
Количество просмотров4.2K

«PostgreSQL может заменить Kafka, RabbitMQ, MongoDB, Redis, Elasticsearch, Geospatial Database и даже Сron. Но есть нюансы».

В среду, 13 декабря, в прямом эфире встретились Senior Software Engineer в Avito Tech Виталий Лихачёв и DBA в Altinity Евгений Климов и обсудили PostgreSQL. В компании Виталия любят PostgreSQL, умеют его готовить и используют для множества задач. А вот в компании Евгения предпочитают Clickhouse и считают, что один инструмент для всего — не всегда хорошо. У экспертов получилась интересная и местами остренькая беседа.

Читать далее
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Вклад авторов