Обновить
152.1

PostgreSQL *

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

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

PostgreSQL, Spring Framework и Android для начинающего разработчика

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели19K

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

В статье будут затронуты такие важные темы, как теория баз данных, реляционная база данных PostgreSQL, Spring Framework и Android разработка. Также будет рассмотрен базовый, не очень сложный пример, который поможет разобраться во всех этих темах и "потрогать" их руками.

Статья предназначена для начинающего разработчика, но имеющего базовые знания о разработке программного обеспечения и языках программирования Java и Kotlin.

Все материалы и исходный код можно найти здесь.

Читать далее

PostgreSQL ltree: обеспечение целостности данных

Время на прочтение5 мин
Охват и читатели11K

Здравствуйте. Это версия моей первой статьи на русском языке, прошу не судить строго.

Одним из способов хранения древовидных структур в реляционных СУБД является “материализованный путь”. В интернете можно найти множество описаний этого и других способов, следует выбирать исходя из вашей задачи. 

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

Итак, задача: сделать таблицу item с полем path типа ltree для удобной работы с деревом, а также обеспечить целостность данных на уровне базы. 

Терминология:

Читать далее

Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%

Время на прочтение19 мин
Охват и читатели8.5K

Рассказываем, как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%.

Ещё по теме: «MongoDB vs PostgreSQL: основные различия и особенности миграции»

Читать далее

MongoDB vs PostgreSQL: основные различия и особенности миграции

Время на прочтение8 мин
Охват и читатели29K

Механизм хранения данных может меняться на протяжении всего жизненного цикла приложения. Абсолютно нормально, когда от решения, которое использовалось на старте, отказываются в пользу более подходящего спустя пару лет эксплуатации. Частый сценарий — «переезд» с MongoDB на PostgreSQL.

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

Ещё по теме: «Как перейти с MongoDB на Postgres без простоев и сократить расходы на 30%»

Читать далее

Postgresso 4 (53)

Время на прочтение12 мин
Охват и читатели3.3K

SQL:2023

SQL:2023 is finished: Here is what’s new и

Postgres and SQL:2023: What's Supported?

Эти две статьи Питера Айзентраута (Peter Eisentraut) объединяем в одну. Во второй он только проставляет статусы и версии, в которых появилась поддержка. С момента выхода прошлого стандарта по шкале времени ИТ прошла Вечность: 7 лет с выхода SQL 2016. Дольше ждали только до 1999-го года - вообще-то тоже 7 лет, но Питер пишет, что дольше, он, наверное, влезал в детали. Не важно. Главное - долго, а в бездействии разработчикам ждать не дадут: клиенты просят новых фич, им не до стандартов.

Читать далее

PostgreSQL 16: Часть 5 или Коммитфест 2023-03

Время на прочтение27 мин
Охват и читатели9.3K

Вместе с окончанием мартовского коммитфеста, закончился прием изменений в 16-ю версию. Пришла пора посмотреть, что в нем было нового и интересного.


Надеюсь, что представленный материал вместе с предыдущими статьями серии (2022-07, 2022-09, 2022-11, 2023-01) поможет сформировать представление о новинках PostgreSQL 16.

Читать дальше →

Безопасность в базах данных

Время на прочтение10 мин
Охват и читатели31K

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

Читать далее

Девять способов выстрелить себе в ногу с PostgreSQL

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели29K

Большинство этих проблем связано с масштабируемостью. Это то, что не повлияет на вас, пока база данных мала. Но если когда-нибудь вам захочется, чтобы база данных перестала быть маленькой, о таких вещах стоит подумать заранее. В противном случае они нанесут вам удар исподтишка, возможно, в самый неудобный момент. Плюс во многих случаях работы потребуется меньше, если делать всё правильно с самого начала, чем менять уже работающую систему.
Читать дальше →

Компрессия WAL в PostgreSQL: что нового в 15-й версии?

Время на прочтение7 мин
Охват и читатели9K

Работа по реализации компрессии WAL на разных уровнях предпринимались с самых ранних дней PostgreSQL. Некоторые из встроенных функций доступны нам еще с 2016 года, и почти все инструменты резервного копирования, прежде чем помещать WAL в резервный репозиторий, выполняют его сжатие. И вот наконец настало время еще раз взглянуть на встроенный wal_compression, потому что PostgreSQL 15 есть что предложить нам. В комбинации с остальными значимыми улучшениями в архивировании WAL в PostgreSQL 15 мы можем добиться впечатляющих результатов.

Читать далее

Производительность 1С:ERP+PostgreSQL на разных гипервизорах

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели8.4K

Виртуализация стала неотъемлемой частью работы с серверами, и многие компании переходят на облачные сервисы, чтобы уменьшить затраты на приобретение собственного оборудования. Поставщики облачных сервисов используют разные гипервизоры, и в данной статье мы сравним два из них: Hyper-V от Microsoft и Proxmox VE на базе Debian от Proxmox Server Solutions GmbH. Мы также проведем нагрузочное тестирование сервера 1С:Предприятие, чтобы помочь вам выбрать, на каком гипервизоре лучше разместить свои сервисы 1С.

Читать далее

В какой сказке встречаются Баба Яга и Колобок или сказ о том как мы таск-трекер писали, часть вторая

Время на прочтение23 мин
Охват и читатели2.4K

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

Читать далее

PGConf.Russia 2023: это было красиво

Время на прочтение6 мин
Охват и читатели4.4K

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

Читать далее

Гетерогенная распределенная система как способ миграции больших и не очень баз данных с MSSQL Server на PostgreSQL

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

Привет! Я Владимир Колосков, ведущий разработчик в Softpoint. Сегодня я хочу поделиться своими соображениями по поводу миграции больших и огромных БД с MSSQL Server на PostgreSQL: зачем это делать, стоит ли это делать сейчас и как я вижу такой переход.

Сразу пару слов про «Почему с SQL Server?» и «Почему на PostgreSQL?».

Самая распространенная в России платформа для бизнес-систем – это 1С:Предприятие 8. Причем в компаниях любого размера. Исторически платформа работала всегда с MS SQL Server. Есть, конечно, инсталляции и на других СУБД, но их крайне мало в общей массе. А связке 1С+MSSQL Server уже не один десяток лет, она отлажена, понятна и более-менее предсказуема. На основании собственного опыта и опыта Softpoint могу уверенно утверждать, что если в компании есть крупная ИТ-система, то она почти всегда на MSSQL Server (даже если это не 1С). И чем больше база данных, тем сложнее компании решиться на миграцию, т.к. это длительный процесс, с серьезным функциональным и нагрузочным тестированием, не укладывающийся ни в одно технологическое окно. А перспектива простоев ИТ-систем в бизнесе – такое себе.

Что касается вопроса «Почему на PostgreSQL?», то на данный момент других вариантов просто нет, ниже по тексту я разверну это утверждение.

Одна из целей статьи – показать, что использование гетерогенной информационной системы как инструмента перехода с одной СУБД на другую – это очень оправданный шаг как с экономической точки зрения, так и с учетом возможных рисков. Это позволит, с одной стороны, пользоваться и хранить данные в привычной СУБД, которая годами и десятилетиями оттачивалась крупным вендором, и которая имеет минимальные нарекания в производительности, в поддержке, в ошибках. А, с другой стороны, параллельно пользоваться СУБД с открытым исходным кодом, анализировать ее поведение при таком же профиле нагрузки, плавно увеличивать нагрузку, проводить тестирование столько времени, сколько нужно.

Читать далее

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

Связь Django и PostgreSQL внутри Docker

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

Приветствую всех!

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

Я работаю на windows, поэтому если у вас другая операционная система, то команды могут отличаться.

Читать далее

Полезные TreeMap визуализации для MSSQL, Postgres и MySQL

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели11K

Я очень люблю визуализации. Человек лучше всего воспринимает информацию через образы. Для трех часто встречающихся баз (MSSQL, Postgres и MySQL) я смастерил плагины к проекту Bell, хотя этот код на Python можно использовать и отдельно. Поэтому для каждой визуализации я буду в скобочках писать имя файла из репозитория GitHub - вы можете этот файл вытащить и использовать его отдельно от проекта (для этого нудны минимальные модификации).

Отмечу только, что я считаю себя экспертом только в MSSQL, а то что сделал с другими базами - сделал по наитию. Кроме того, в отличие от MSSQL у меня нет реальных баз под большой нагрузкой для Postgres и MySQL. Поэтому ошибки/пожелания для скриптов Postgres и MySQL очень и очень welcome!

В основном я задействовал TreeMap.

Читать далее

Приглашаем на Ozon Tech Community Go Meetup (Екатеринбург)

Время на прочтение2 мин
Охват и читатели1.3K

UPD: Добавили записи докладов и слайды

Здесь мог быть каламбур про Go в Екат. Эх, всё-таки просочился. 

Привет, меня зовут Ильяс, и я – старший разработчик в Ozon.

Мы постоянно говорим, что Go – один из наших самых любимых языков. А почему? А потому что эффективен. Мы можем просто и быстро писать высокопроизводительные решения, а потом без труда их поддерживать и масштабировать. На Go написано более 1000 микросервисов, обеспечивающих работу сайта, склада, систем логистики. 

Ждём всех в гости на открытый Ozon Tech Community Go Meetup 20 апреля в 18:00 в Екатеринбурге (16:00 по Москве). И, конечно, будет онлайн.

Подробности

PostgreSQL под капотом. Часть 5. Простой SELECT запрос

Время на прочтение42 мин
Охват и читатели9.9K

Приветствую!

В этой статье рассмотрим какой путь проходит простой SELECT запрос. От стадии сырой строки до отправки ответа клиенту.

А еще:

Работу со статистикой приложения через API Linux.

Реализацию динамического списка.

«Наследование» в C.

Как ведется работа с диском в БД.

Немного легаси.

Читать далее

Поддержка пакетов в стиле Oracle в СУБД Postgres Pro 15 Enterprise

Время на прочтение15 мин
Охват и читатели13K

В новой версии своего флагманского дистрибутива Postgres Pro 15 Enterpise, компания Postgres Pro добавила поддержку функциональности пакетов: расширен синтаксис PL/pgSQL и добавлены новые механизмы в среду выполнения хранимых процедур.

В данной статье описана поддержка функциональности пакетов в Postgres Pro 15 Enterpise:

- группировка типов переменных процедур и функций в пакет;

- поддержка секции инициализации пакетов;

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

Также в статье будут рассмотрены особенности использования пакетов в СУБД Postgres Pro Enterprise.

Читать далее

О снижении затрат на PostgreSQL в облаке

Время на прочтение9 мин
Охват и читатели2.1K

Если вы используете PostgreSQL в облаке, существует очень большая вероятность того, что вы тратите больше, чем нужно для того, чтобы покрыть все необходимости вашего бизнеса. Давайте же разберемся, как выжать из Postgre максимум, потратив при этом минимму.

Читать далее

История учебы Васи и конечный автомат на SQL

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели3.3K

После выступления на PgConf2023 у меня на выходных появилось время на реализацию идеи, как реализовать логику конечного автомата на SQL в PostgreSQL. Идея применима к любой СУБД, поддерживающей агрегатные функции, определяемые пользователем. И самое грустное, что в одной из самых популярных аналитических баз данных ClickHouse, эту задачу не нашел как вообще можно решить без Python на чистом SQL, хоть автосгенерированном.

Скоро сказка сказывается, да не скоро дело делается... Жил был Вася. Описали летописцы его житие с учебой в виде таблицы. А устои в обществе где он жил, были описаны с помощью конечного автомата. И конечный автомат мудрости - finite-state machine (FSM) был задан в виде таблицы переходов между состояниями, описанными в виде логических выражений на SQL...

Читать далее

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