Postgres Professional
2.82K subscribers
766 photos
53 videos
404 links
🔹 Развиваем экосистему решений для работы с данными и Postgres Pro — самую популярную российскую СУБД!*

🔹 Лидируем по вкладу в PostgreSQL*

🔹 Организуем PGConf.Russia, выпускаем курсы и книги

*подробнее: postgrespro.ru/blog/news/5970919
加入频道
🎄Предновогодний интерактив на знание PostgreSQL

В любой поддерживаемой версии PostgreSQL, в сеансе суперпользователя выполним команды:
CREATE ROLE app_owner; -- создаем владельца объектов приложения
CREATE TABLE t (
id int PRIMARY KEY,
parent_id int REFERENCES t(id)
);
ALTER TABLE t OWNER TO app_owner;
REVOKE ALL ON t FROM app_owner; -- никаких действий под владельцем
INSERT INTO t VALUES (1,NULL);
DELETE FROM t;
DROP TABLE t;
Других сеансов нет, синтаксис правильный.


В следующем посте будет опрос. Отметьте в нем команды, которые завершатся ошибкой.
👍5🔥1🤔1
Отметьте команды, которые завершаются ошибкой. Позже опубликуем ответы с пояснением.
Anonymous Poll
1%
CREATE ROLE
4%
CREATE TABLE
4%
ALTER TABLE
13%
REVOKE
20%
INSERT
35%
DELETE
8%
DROP TABLE
46%
Все команды выполняются успешно
🤔8👍5
Как это работает: внешние ключи

Наверное многие уже знают правильный ответ. В конце концов, указанные команды несложно повторить и увидеть, что единственная команда, которая завершится ошибкой это DELETE:
DELETE FROM t;
ERROR: permission denied for table t
CONTEXT: SQL statement "SELECT 1 FROM ONLY "public"."t" x WHERE "id" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x"

Но как удаление только что добавленной строки может завершиться ошибкой? Почему у суперпользователя не хватает прав на таблицу t? И откуда взялась команда SELECT из контекста?

Все дело в ограничении внешнего ключа в таблице t: столбец parent_id ссылается на id этой же таблицы. Для реализации внешних ключей в PostgreSQL используются табличные триггеры. Их называют системными. Это триггеры на языке C, они создаются автоматически, команды psql их не показывают. Но их можно найти в системном каталоге pg_trigger, например в таблице t их сейчас 4. При удалении сработал триггер на DELETE. В триггере проверялось, что на удаляемую строку другие строки не ссылаются.

Так вот оказывается, что системные триггеры выполняются с правами владельца таблицы, а не с правами вызывающего команду DELETE. После выполнения REVOKE, прав на таблицу у app_owner нет. Поэтому любые пользователи будут получать подобные ошибки. Но если права вернуть, то всё заработает:
GRANT ALL ON t TO app_owner;
DELETE FROM t WHERE id = 1;
DELETE 1

Подобное поведение будет неожиданным для пришедших из других СУБД, где забирать у владельцев права на объекты вполне допустимо.

Но неожиданности в реализации системных триггеров на этом не заканчиваются. В недавней статье Broken foreign keys: how can that happen in PostgreSQL? Лауренц Альбе дает хорошее введение в системные триггеры и рассказывает как сломать ограничение внешнего ключа "законными" действиями.

Общий вывод: чтобы не нарушить согласованность данных, нужно учитывать работу системных триггеров. Это особенно важно при разработке собственных табличных триггеров.
👍10🔥4🤔31
This media is not supported in your browser
VIEW IN TELEGRAM
🎄 Этот год был ярким и насыщенным, спасибо за то, что провели его с нами! Поздравляем вас с наступающим 2024 годом, пусть он принесёт только самое хорошее!

🎁 А в качестве небольшого подарка — наш традиционный календарь «Postgres Pro в авангарде» на 2024 год!

До встречи!
🎉30🔥7
📍Открыта регистрация на конкурс «СУБД Postgres Pro»

Приглашаем студентов и выпускников вузов и колледжей от 18 до 27 лет принять участие в нашем конкурсе на олимпиаде «IT⁠-⁠Планета 2024»:

✔️Первый этап — дистанционное тестирование на знание основ теории баз данных и основ языка SQL;

✔️Второй этап — дистанционное решение логических и практических задач, разработка нестандартных SQL-запросов;

✔️Финал — состязание в очном формате среди тех, кто прошел два отборочных этапа конкурса.

🔥Победители и призеры получат подарки от Postgres Professional: мерч, ваучер на бесплатное прохождение сертификации «Администратор PostgreSQL.Профессионал» и многое другое!

Читайте подробности и регистрируйтесь
🔥6👍4
Миграция на СУБД Postgres Pro: большой семинар Postgres Professional

13 февраля проведем PGMeetup, где выступят специалисты Postgres Professional, «Айбим», «Конвертум»:

✔️Расскажем про инструменты и технологии миграции, представим решения для упрощения этого процесса в Postgres Pro Enterprise 16;

✔️Представим кейс миграции НСИ Строительного Комплекса Московской Государственной Экспертизы с Oracle на Postgres Pro;

✔️Обсудим архитектуру максимальной доступности в СУБД Postgres Pro Enterprise.

🔥Семинар будет интересен разработчикам и администраторам, а также техническим архитекторам.

📍Митап пройдет в «Рэдиссон Славянская», для очного участия дождитесь подтверждения на почту после регистрации. Также доступна онлайн-трансляция. Участие — бесплатное, по итогам встречи отправим запись.

Регистрация на PGMeetup
👍8🔥6
📍Postgresso #12 (61) — главные события мира PostgreSQL за декабрь

Декабрьский Postgresso начинается с нашей главной новости: вышел Postgres Pro Enterprise 16.1.1. Также в выпуске:

✔️Обсудили задачи для соискателей крупных IT-компаний от HR-службы Google и не только;

✔️Рассмотрели молодые языки программирования и судьбу «старичков»: COBOL и Postgres для s390;

✔️Рассказали историю, как заработать (или не заработать) на поиске уязвимостей в защищенной ОС.

Читайте выпуск
🔥7👍1
Встреча с экспертами по PostgreSQL в Санкт-Петербурге

8 февраля в Санкт-Петербурге пройдет PGMeetup.СПб/24, где выступят специалисты Postgres Professional и Selectel:

✔️Эксперты Selectel представят результаты тестирования производительности ванильного постгреса и Postgres Pro Enterprise 16 на платформах Intel, AMD, ARM, обсудят методику тестов;

✔️Ведущий разработчик Postgres Professional Максим Орлов расскажет про особенности 64-битного счётчика транзакций в PostgreSQL.

Митап будет интересен для всех IT-специалистов, кто интересуется Postgres или работает с этой СУБД.

📍Встреча пройдет очно в дата-центре Selectel, также будет онлайн-трансляция. Участие — бесплатное.

Регистрируйтесь на PGMeetup.СПб/24
👍6🔥51
PostgreSQL стала СУБД года по версии DB-Engines и обошла Oracle по популярности в России!

DB-Engines опубликовали традиционный рейтинг популярности СУБД. PostgreSQL заняла первое место в мире по темпам роста, поднявшись за 2023 год на 34 пункта — лучший результат из 417 исследуемых систем. Это уже четвертый раз, когда PostgreSQL становится СУБД года — прежде это удавалось в 2017, 2018 и 2020 годах.

Гордимся, что к этому результату во многом причастны и наши коллеги! Каждый год отправляем в сообщество больше 100 патчей, занимаем второе место в мире в международном рейтинге разработчиков системы по версии EDB, организуем конференции, митапы и вебинары, запускаем бесплатные курсы, пишем и публикуем книги (которые, к слову, занимают первые места в международных отраслевых рейтингах), сотрудничаем с колледжами и вузами и проводим единственную в России сертификацию по PostgreSQL.

🔥Решили проверить, как обстоят дела с популярностью PostgreSQL в России: согласно аналитике Google Trends за 2023 год, PostgreSQL в поисковых запросах в России ищут на 65% (!) чаще чем Oracle, на 75% — чем MySQL и на 320% — чем MS SQL Server! Перелом произошел в марте-апреле 2022 года.

«В реестре российского ПО сейчас около 70 СУБД — беспрецедентное для страны количество. Тем не менее, говорить о полноценной отрасли СУБД в России рано. Хотя большинство разработчиков базируют свои системы на PostgreSQL, лишь незначительная часть стремится развивать открытую СУБД и российское сообщество. На кадровом рынке ощущается серьезные последствия многолетнего vendor lock-in Oracle — большинство СУБД-разработчиков и администраторов баз данных обучались в вузах на системах западных производителей и с большим трудом готовы менять свои привычки. Важно поменять эту ситуацию: сделать PostgreSQL более российским и создать воспроизводимый источник кадров. Это — одна из стратегических задач Postgres Professional»

— отметил генеральный директор Postgres Professional Олег Бартунов.

Подробности и графики со статистикой собрали вот тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍5🎉42👏1
🔥PGConf.Russia 2024 — открываем регистрацию и принимаем доклады

8-9 апреля в «Рэдиссон Славянская» пройдет PGConf.Russia 2024 — самая масштабная конференция по PostgreSQL в России:

✔️900+ разработчиков, администраторов баз данных и IT-менеджеров;

✔️Интересные кейсы по эксплуатации СУБД, мониторингу и настройке PostgreSQL, миграции на Postgres;

✔️Профессиональная сертификация по PostgreSQL (по предварительной записи).

Открываем прием заявок на доклады — регистрируйтесь и предлагайте тему до 10 марта.

📍Early Bird — со скидкой в 30% от финальной стоимости. Участие студентов и преподавателей — бесплатное.

Регистрируйтесь на PGConf.Russia 2024
🔥116👍1
📍Postgresso — итоговый выпуск за 2023 год

Выпустили подборку из Postgresso за 2023 год: собрали сюжеты, которые тянулись от первых номеров к предновогодним. Специалист образовательного отдела Postgres Professional Игорь Левшин подобрал в дайджесте интересные темы за год, чтобы каждый нашел что-то для себя. 

Читайте Postgresso за 2023 год
👍5🔥32
📍PGMeetup: Новые возможности СУБД Postgres Pro Enterprise 16

30 января на онлайн-встрече расскажем о функциях, решениях и доработках Postgres Pro Enterprise 16 — самого значимого релиза Postgres Pro за последние несколько лет. Также на PGMeetup:

✔️Обсудим новые возможности СУБД для упрощения миграции с Oracle;

✔️Поговорим о снятии ограничений для работы с неструктурированными данными;

✔️Представим графическую консоль управления базами данных, встроенную отказоустойчивость, адаптивную оптимизацию запросов.

Участие — бесплатное, все зарегистрированные участники получат запись встречи.

Регистрируйтесь на PGMeetup
👍10🔥5
📍Использование On-Logon триггеров в СУБД Postgres Pro Enterprise

Ведущий технический консультант Postgres Professional Игорь Мельников рассказал про работу с On-Logon триггерами в новой статье на Хабре

Функциональность PostgreSQL, аналогичная тому, что предоставляет Oracle On Logon Trigger, первоначально появилась в Postgres Pro Enterprise версии 14. Компания Postgres Professional передала свою реализацию этой технологии сообществу PostgreSQL — она войдет в open source релиз PostgreSQL 17.  

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

Читайте статью
👍8🔥41🤔1
🔥Сертификация по PostgreSQL на PGConf.Russia 2024

8-9 апреля на PGConf.Russia 2024 проведем сертификацию «Администрирование PostgreSQL» по PostgreSQL версий 10 (DBA2, DBA3, QPT) и 13 (DBA1, DBA2, DBA3, QPT, Expert 10 → 13).

Сертификация позволяет:

✔️Подтвердить свой уровень знаний;

✔️Получить преимущества при поиске работы;

✔️Узнать свою зону роста и темы, которые стоит изучить.

Обладатели уровня «Эксперт» по PostgreSQL 10 смогут сдать переходный тест «Эксперт 10 → 13» и получить сертификат «Администратор PostgreSQL 13. Эксперт» по упрощённой системе.

📍Конференция пройдет в «Рэдиссон Славянская» + в онлайн-формате, открыта ранняя регистрация. Пройти сертификацию можно по предварительной записи.

Регистрация на PGConf.Russia 2024
🔥8👍4👏1
🔥Новая книга от Postgres Professional — «Мониторинг PostgreSQL»!

Издание про внутреннее устройство PostgreSQL и особенности мониторинга поможет эффективно использовать СУБД и решать задачи, возникающие при работе с системой.

✔️Материалы об инструментарии СУБД PostgreSQL, практические приемы его использования и способы интерпретации полученных данных.

✔️9 глав: обзор статистики, статистика активности, выполнение запросов и функций, базы данных, область общей памяти и ввод-вывод, журнал упреждающей записи, репликация, очистка, ход выполнения операций.

✔️Для администраторов баз данных, системных администраторов, специалистов по надежности.

📍Автор — Алексей Лесовский, ведущий разработчик ПО Postgres Professional. Почти 20 лет Алексей занимается задачами эксплуатации сложных систем, проектирования и разработки ПО.

👉Скачать книгу
🔥24👍8
Календарь мероприятий Postgres Professional

✔️PGMeetup: Новые возможности Postgres Pro Enterprise 16 | 30 января | Бесплатно | Онлайн

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

✔️PGMeetup.СПб/24 | 8 февраля | Бесплатно | Онлайн и очно

В Санкт-Петербурге специалисты Postgres Professional и Selectel в дата-центре компании обсудят производительность PostgreSQL и Postgres Pro Enterprise 16, ускорение железа и консистентность в СУБД. Встречу также будем транслировать онлайн.

✔️PGMeetup. Миграция на СУБД Postgres Pro | 13 февраля | Бесплатно | Онлайн и очно

Встретимся в «Рэддисон Славянская»: специалисты Postgres Professional обсудят миграцию на Postgres Pro, эксперты «Айбим» представят кейс миграции.

🔥 PGConf.Russia 2024 | 8-9 апреля | Онлайн и очно | Early-bird билеты!

В «Рэддисон Славянская» пройдет самая масштабная конференция по PostgreSQL в России. Соберем на одной площадке разработчиков, администраторов баз данных и IT-менеджеров; эксперты представят доклады и кейсы по эксплуатации СУБД. Открыта регистрация и прием заявок на доклады.

До встречи!
👍11🔥61
Postgres Professional pinned a photo
This media is not supported in your browser
VIEW IN TELEGRAM
📍Что такое Postgres Pro Enterprise Manager?

Недавно мы представили Postgres Pro Enterprise Manager (PPEM) — графическую платформу управления базой данных.

PPEM охватывает полный спектр задач администратора баз данных и значительно упрощает и ускоряет работу над рутинными задачами. Платформу уже протестировали более 25 крупнейших клиентов Postgres Professional, а теперь она доступна всем пользователем линейки СУБД Postgres Pro.

Подробнее о решении рассказал старший технический консультант Postgres Professional Борис Пищик.

🔥Узнать больше о PPEM
🔥11👍31
📍Подборка статей по работе с PostgreSQL: NULL-значения, темпоральные типы данных, механизм TOAST и работа с аномалиями 

Делимся новой подборкой статей с нашего блога на Хабре, изучаем NULL-значения, темпоральные типы данных и механизм TOAST; учимся работать с аномалиями под нагрузкой. 

✔️NULL-значения в PostgreSQL: правила и исключения

Ведущий инженер Postgres Professional Алексей Борщев разбирает поведение NULL-значений в PostgreSQL. Неопределённые значения преподносят сюрпризы — подробнее о них и особенностях решений нестандартных ситуаций читайте в статье. 

✔️Жарим TOAST в PostgreSQL

Старший разработчик ПО Postgres Professional Никита Малахов рассматривает, как PostgreSQL хранит большие (длинные) значения колонок, анализирует некоторые связанные с этим особенности и проблемы СУБД и предлагает способы решения этих проблем. 

✔️Аномалии под нагрузкой в PostgreSQL: о чём стоит помнить и с чем надо бороться

Руководитель группы производительности Postgres Professional Михаил Жилин рассказывает про аномальные случаи высокой нагрузки в СУБД PostgreSQL. При определённых профилях нагрузки СУБД может вести себя не так, как ожидается — это и есть аномалии. Материал основан на опыте работы Postgres Professional, читайте об инструментах диагностики аномалий, вносимых изменениях, результатах и рекомендациях. 

✔️Темпоральные типы в PostgreSQL и их использование

Ведущий инженер Postgres Professional Иван Фролков рассматривает особенности работы с темпоральными типами данных в PostgreSQL, которые используются при работе с датами и временем. 

Больше статей —
в блоге на Хабре
👍74🔥4
📍Как в СУБД реализовать администратора без прав доступа к данным?

Забрать у суперпользователя доступ к данным, но сохранить опции по управлению СУБД — такой запрос есть как у компаний с жесткими требованиями к информационной безопасности, так и у бизнеса с государственным регулированием. Такая функциональность закрывает риски с доверием к DBA, а также страхует в случаях «угона» учётной записи. 

В статье на Хабре изучили подходы к проблеме, существующие реализации такого типа суперпользователя и рассказали про «Администратора без доступа к данным» от Postgres Professional.

Авторы статьи — сотрудники Postgres Professional: старший технический менеджер продукта Василий Бернштейн; старший инженер по информационной безопасности Владимир Абрамов; руководитель отдела информационной безопасности Валерий Попов. 

Статья на Хабре
👍10🔥5
📍Переход госкорпораций и компаний с госучастием на отечественные СУБД

Согласно опубликованным в январе методическим рекомендациям Минцифры, госкорпорации и компании с госучастием должны перейти на российские СУБД к 1 января 2026 года.

Значительная часть компаний надеялась на возвращение западных вендоров и препятствовала изменениям. К тому же сами российские прикладные разработчики не хотели инвестировать в изменение своего ПО и откладывали изменения до последнего момента

рассказал «Ведомостям» Иван Панченко, заместитель генерального директора Postgres Professional.

Познакомиться с кейсами миграции с Oracle и MS SQL Server, узнать о ключевых этапах перехода и инструментах, облегчающих миграцию можно 13 февраля на конференции PGMeetup. Миграция на СУБД Postgres Pro: технологии, подходы и решения.
🔥13👍7👎1👏1