Как стать автором
Обновить
28.88
Рейтинг

PostgreSQL *

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

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

Правила перезаписи PostgreSQL

Блог компании FirstVDS Системное администрирование *PostgreSQL *Серверная оптимизация *
Перевод

Представления (Views) — это не совсем то, о чём вы можете подумать. В этой статье мы разберём правила перезаписи PostgreSQL, как они работают, что они могут и чего не могут делать.

Начиная с версии 10, PostgreSQL поддерживает концепцию правил перезаписи, которые позволяют изменять способ выполнения запросов.

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

Однако не стоит расслабляться — некоторые условности всё же есть. Например, эти правила перезаписи сильно отличаются от плагинов перезаписи MySQL и в целом являются более комплексными.
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.3K
Комментарии 1

Новости

Импорт и экспорт данных в PostgreSQL, гайд для начинающих

PostgreSQL *SQL *
Из песочницы

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

В своё время, столкнувшись с импортом и экспортом данных, обнаружилось, что какой-то более-менее структурированной инфы мало: этот момент обходят на всяких там курсах по аналитике, подразумевая, что это очень простые моменты, которым не следует уделять внимание.

В данной статье приведены примеры импорта в PostgreSQL непосредственно самой базы данных в формате sql, а также импорта и экспорта данных в наиболее простом и распространенном формате .csv, в котором в настоящее время хранятся множество существующих датасетов. Формат .json хоть и является также очень распространенным, рассмотрен не будет, поскольку, по моему скромному мнению, с ним все-таки лучше работать на Python, чем в SQL.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 4.8K
Комментарии 7

Что нового в плане мониторинга в PostgreSQL (Алексей Лесовский)

PostgreSQL *Администрирование баз данных *


Доклад Алексея Лесовского про то, что нового есть в PostgreSQL в плане мониторинга.


Охватывать Алексей будет 13 и 14 версии. Далее от его лица.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.2K
Комментарии 5

SQL HowTo: разные варианты работы с EAV

Блог компании Тензор PostgreSQL *SQL *Администрирование баз данных *ERP-системы *

Соблазн использовать модель EAV (Entity-Attribute-Value) при организации структуры БД весьма велик, особенно когда предметная область заранее плохо известна (или разработчик просто не хочет в нее углубляться). Это ведь так удобно - создать "универсальный" способ описания характеристик объектов, который больше не потребует доработок базы ни при появлении новых типов объектов, ни при возникновении новых атрибутов...

Однако, за любую универсальность приходится платить сложностью и производительностью запросов - так что json[b] может оказаться более эффективной заменой. Но если уж такая модификация невозможна - давайте попробуем выжать максимум производительности из доставшегося нам legacy на самом простом примере.

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Просмотры 3K
Комментарии 7

Когда помогает партиционирование, пример в PostgreSQL

Блог компании OTUS PostgreSQL *Администрирование баз данных *
Recovery mode
Разберем внедрение партиционирования на практическом примере, обсудим выбор реализации, альтернативы. Учтем ограничения, проистекающие из самих обрабатываемых данных.

Подробнее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 5.3K
Комментарии 19

TRY / CATCH в PostgreSQL

PostgreSQL *SQL *
Tutorial

Во встроенном процедурном языке PL/pgSQL для СУБД PostgreSQL отсутствуют привычные операторы TRY / CATCH для для перехвата исключений возникающих в коде во время выполнения. Аналогом является оператор EXCEPTION.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.8K
Комментарии 6

Отчёт с митапа: PostgreSQL-as-Service — можем, умеем, практикуем

Блог компании Ozon Tech PostgreSQL *Программирование *Администрирование баз данных *Конференции

Выкладываем запись с Ozon Tech PostgreSQL Meetup. Ранее я уже описывал нашу инфраструктуру: весь PostgreSQL основан на виртуальных машинах — 2К в тестовой среде и ~8К в проде. Это около 2К кластеров баз данных. Так как у нас микросервисная архитектура, мы придерживаемся принципа 1 сервис = 1 база. Нагрузка на базы может быть приличная: 2-2,5 млн транзакций в секунду, а WAL-трафик порядка 1.5 ГБ/c. 

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

Видео и слайды пол катом
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 2.9K
Комментарии 10

Postgresso #2 за 2022 (39)

Блог компании Postgres Professional PostgreSQL *


В эти безрадостные дни многим трудно работать, сочинять и даже читать статьи. Но ИТ-инфраструктура это как водопровод — без неё жизнь уже почти невозможна. И мы продолжаем выпускать Postgresso. По понятным причинам в этом выпуске будет много ссылок, меньше анализа. И главная тема — миграция

Миграция


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

Начнём с Oracle to Postgres Conversion

Это официальный документ сообщества PostgreSQL. Есть список инструментов миграции.

The Complete Oracle to PostgreSQL Migration Guide: Move and convert Schema, Application & Data

Довольно пространное руководство от EDB. Есть матрица возможностей миграционных инструментов.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 3.9K
Комментарии 1

Чем Linux HugePages важны для серверов баз данных?

Блог компании Конференции Олега Бунина (Онтико) Тестирование IT-систем *PostgreSQL *Администрирование баз данных *
Перевод

Часто пользователи рассказывают о сбое базы данных по вине Out Of Memory Killer. Он завершает процессы PostgreSQL и остается причиной большинства отказов этой БД. Память на хост-компьютере может закончиться по нескольким причинам. Наиболее распространены из них четыре. Во-первых, может быть плохо настроена память на хост-компьютере. Во-вторых, могут быть ограничения глобальной переменной work_mem. Например, если у вас 32Гб RAM и work_mem=1Гб, то больше 32 соединений вы никогда не запустите. Каждое соединение PostgreSQL будет выделять этот размер памяти.

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

Представляем вам перевод статьи от Jobin Augustine, который работает в Percona старшим инженером службы поддержки. Более 20-лет он был консультантом, архитектором, администратором и инструктором по PostgreSQL, Oracle и другим технологиям баз данных. Сегодня поговорим о том, как можно защититься от OOM с помощью HugePages и разберем насколько они важны и почему нужны.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3.9K
Комментарии 7

Создание телеграм-бота (Spring Boot, Kafka, PostgreSQL), часть первая

PostgreSQL *Java *Gradle *
Из песочницы
Tutorial

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

Статьи будут разделены на 2 части, первая часть - создание основного бота с оправкой логов (Kafka Producer) и записью их в БД, вторая часть - обработка всех логов (Kafka Consumer).

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Просмотры 11K
Комментарии 17

Databaser. Возвращение легкости стартапа

Блог компании БАРС Груп Python *PostgreSQL *Программирование *Администрирование баз данных *

Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – развороты больших баз данных (БД) у разработчиков на локальных машинах. Сегодня мы расскажем об инструменте «Databaser», который на 100% позволяет ее решить.

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

Метрики как способ эффективного управления проектами

PostgreSQL *Управление проектами *Atlassian *
Tutorial

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

Но как сделать так, чтобы всеми метриками было удобно пользоваться? Чтобы не приходилось собирать всё вручную, а была бы единая точка входа к данным, и сама полученная информация помогала контролировать состояние дел и проводить верную оценку.

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 2.1K
Комментарии 4

Prisma — как подключить в Nest-проекте

PostgreSQL *Node.JS *
Tutorial

## Prisma - установка в проект

Установка поддержки Prisma в NestJS-проекте выполняется очень просто - при помощи двух команд.

Первая - устанавливает клиентскую часть Prisma:

$ npm i @prisma/client

... вторая команда - устанавливает cli-часть Prisma:

$ npm i -D prisma

После этого - нужно запустить команду для инициализации Prisma в текущем проекте:

$ npx prisma init

В результате в корне проекта будет создана папка prisma, внутри которой будет находиться файл schema.prisma для настройки подключения Prisma к базе данных (и не только).

Содержимое файла schema.prisma очень простое:

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

Как миграция с Oracle на PostgreSQL в облако влияет на сторадж?

Блог компании Netcracker PostgreSQL *Программирование *Администрирование баз данных *Облачные сервисы
Перевод

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

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.3K
Комментарии 1

Приглашаем на Ozon Tech PostgreSQL Meetup: строим PostgreSQL-as-Service

Блог компании Ozon Tech PostgreSQL *Программирование *Администрирование баз данных *Конференции

Привет, Хабр! Меня зовут Алексей, я тимлид команды инфраструктурных разработчиков и инженеров PostgreSQL. У нас небольшая команда — всего 6 человек, но при этом довольно большая инфраструктура, на которой едут наши инстансы PostgreSQL. Это около 8000 виртуальных машин в проде, 2000 в тестовой среде. Общие нагрузки на базы ~2млн TPS, WAL трафик 1.5 ГБ/c. Наш стек технологий: KVM, PostgreSQL, GO, Python, Patroni.

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

В программе:

— PostgreSQL как сервис для внутреннего заказчика,

— Как управлять бэкапами в высоконагруженной среде,

— Фичи, которых нет. Краткий обзор состояния резервного копирования в других СУБД,

— Круглый стол с представителями Авито, Yandex.Cloud, PostgresPro.

Узнать подробнее
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 1.9K
Комментарии 0

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

MySQL *PostgreSQL *Программирование *SQL *Microsoft SQL Server *
Tutorial

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

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

Кстати, иногда такая же участь постигает и специалистов более высокого полета. 

Сегодня мы решили собрать 7 таких ошибок в одном месте, чтобы как можно меньше людей их совершали.

Читать далее
Всего голосов 44: ↑38 и ↓6 +32
Просмотры 30K
Комментарии 90

Чистые транзакции в гексагональном Go

PostgreSQL *Go *

В современной микросервисной разработке очень популярна чистая архитектура (она же луковая). Этот подход ясно отвечает на много архитектурных вопросов, а также хорошо подходит для сервисов с небольшой кодовой базой. Другая приятная особенность чистой архитектуры состоит в том, что она отлично сочетается с Domain Driven Development — они отлично дополняют друг друга.


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


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


Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 4.9K
Комментарии 33

PostgreSQL Antipatterns: рекурсивные грабли на ровном месте, или Сказка о потерянном времени

Блог компании Тензор Ненормальное программирование *PostgreSQL *SQL *Администрирование баз данных *

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

Но иногда обнаруживаются очень странные вещи в поведении этой, безусловно, отличной СУБД.

Все началось с запроса, который мне показали с диагнозом "необъяснимо тормозит"...

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 6K
Комментарии 7

PostgreSQL 15: Часть 4 или Коммитфест 2022-01

Блог компании Postgres Professional PostgreSQL *SQL *
Первые три коммитфеста 15-й версии (2021-07, 2021-09, 2021-11) не баловали нас крупными изменениями. Не стал исключением и четвертый, январский коммитфест. Но всё-таки найдется о чем рассказать.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3K
Комментарии 6

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