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

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

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

*подробнее: postgrespro.ru/blog/news/5970919
加入频道
Документация: о соответствии стандарту SQL

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

PostgreSQL поддерживает стандарт на очень хорошем уровне. Об этом можно узнать в приложении к документации Соответствие стандарту SQL.

PostgreSQL поддерживает почти все основные возможности стандарта SQL:2023. Из 177 обязательных возможностей, которые требуются для полного соответствия «Основной» функциональности, PostgreSQL обеспечивает совместимость как минимум для 170. Кроме того, он реализует длинный список необязательных возможностей.


Конечно, могут быть и отличия от стандарта в реализации команд, а некоторые вообще есть только в PostgreSQL. Разобраться с соответствием отдельных команд стандарту, опять же, поможет документация. Их полный список приведен в разделе Команды SQL. А в описании каждой команды, ближе к концу, есть раздел Совместимость. Именно здесь описаны отличия от стандарта. Например, заглянув на страничку VALUES, можно узнать, что:

VALUES соответствует стандарту SQL. Указания LIMIT и OFFSET являются расширениями PostgreSQL.

А такие команды, как VACUUM, ANALYZE, являются расширениями PostgreSQL и отсутствуют в стандарте.
👍10🔥2
📍Перенос данных с Oracle на PostgreSQL: серия статей

Делимся серией статей на Хабре про миграцию с Oracle: разбираем основные этапы переноса данных, какой код стоит переносить, как его адаптировать и конвертировать.

Автор материалов — ведущий инженер департамента внедрения и технической поддержки Postgres Professional Петр Петров, более десяти лет работает с Oracle и PostgreSQL.

✔️Перенос данных: основные этапы, несовпадающие типы и форматы данных

Рассказываем про основные этапы переноса данных, различия типов и форматов данных в целевой СУБД и СУБД-источнике.

✔️Перенос данных: секционирование, временные таблицы и инструменты

Останавливаемся на секционировании и временных таблицах, рассматриваем инструменты для конвертации данных и сокращения времени простоя.

✔️Работа с хранимым кодом приложения: особенности, сложности и способы их преодоления

Разбираемся, какой код стоит переносить; какие особенности затрудняют перевод на PostgreSQL; как заменить особенности исходной СУБД при конвертации хранимого кода в СУБД-источник.

✔️Миграция кода: особенности и пути обхода, средства конвертации, вспомогательные модули

В материале рассматриваем оставшиеся особенности, адаптацию и конвертацию кода, выбор средств для конвертации.

🔥Скоро расскажем о наших разработках для облегчения миграции с Oracle на Postgres Pro.
🔥8👍4🤔1
📍Запуск Портала технической поддержки Postgres Professional

Для удобства клиентов мы запускаем новый Портал технической поддержки, где можно:

✔️Самостоятельно управлять списком сотрудников, которые могут обращаться за технической поддержкой;

✔️Просматривать свои лицензии и сертификаты;

✔️Управлять доступами к репозиториям с продуктами Postgres Pro (в рамках имеющихся сертификатов);

✔️Вести работу в текущих заявках, открывать новые и просматривать старые заявки;

✔️Работать в заявках от разных клиентов (актуально для интеграторов).

🔥Также на Портале мы собрали «Базу знаний» — каталог статей с полезной информацией, по которым можно осуществлять поиск на интересующую тему.

Узнать больше о Портале
👍11🔥4👏1
🔥Postgres Pro Enterprise 16

Представляем Postgres Pro Enterprise 16.1.1 — самый значимый релиз Postgres Pro за последние 5 лет по количеству новых разработок!

Среди главных фич:

✔️Встроенная система управления отказоустойчивым кластером Postgres Pro Enterprise BiHA (Built-in High Availability);

✔️Администратор без доступа к данным — позволяет защититься от злоумышленников с правами Администратора БД / Администратора СУБД, не давая им ни модифицировать, ни читать конфиденциальные данные;

✔️Приоритизация ресурсов — новый инструмент повышения эффективности использования СУБД с большим количеством пользователей;

✔️Новые системные пакеты-аналоги Oracle — функциональность, работающая по аналогии с пакетами Oracle;

✔️Адаптивный оптимизатор запросов AQO 2.0 — позволяет планировщику Postgres Pro выбирать самый эффективный план, создаваемый на основе статистики планирования и выполнения запросов;

✔️Обновленное расширение sr_plan — в комбинации с AQO версии 2.0 реализуют первую в мире Postgres интеллектуальную систему исправления и стабилизации проблемных планов запросов «на лету»;

✔️Поддержка внешних файлов в виде отдельного типа BFile;

✔️Обновленное приложение pg_probackup;

✔️Поддержка всех возможностей Postgres Pro Standard 16 и выпущенной осенью PostgreSQL 16.

👉 Подробнее о новых функциях Enterprise 16.1.1
🔥25👏5🎉4👍2
Postgres Professional pinned a photo
PostgreSQL 17: Часть 3 или Коммитфест 2023-11. Что принес ноябрьский коммитфест?

В обзоре на Хабре руководитель отдела образовательных программ Postgres Professional Павел Лузанов рассказывает про интересные нововведения последнего коммитфеста в этом году.

Читайте статью
🔥7👍4🎉2
Годовой отчет Timescale: интересные показатели и важные итоги 

Третий год подряд Timescale, компания-разработчик open source базы данных TimescaleDB, публикует отчет о состоянии PostgreSQL.

В 2023 исследование построено на базе опроса 800+ респондентов из числа разработчиков. Ранее вышло три подобных исследования: в 2019, 2021, 2022. В 2020 году отчет не публиковали из-за ковида. Для удобства все отчеты можно посмотреть в одной папке

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

Интересное за 2023 год: 

✔️44% из тех опрошенных, кто имел дело с Postgres 15+ лет, хотя бы раз становились контрибьюторами; 
✔️67.8% опрошенных никогда не посещали мероприятия сообщества даже виртуально; 
✔️51,2% респондентов заявили, что сегодня PostgreSQL используется в их организациях чаще или намного чаще, чем год назад;
✔️36.9% опрошенных уже используют ИИ, но по-разному относятся к pgvector.

Самые популярные расширения за год (вторая цифра — место в 2022):

1/1. postgis;
2/2. timescaledb;
3/3. pg_stat_statements;
4/7. uuid-ossp;
5/4. pgcrypto;
6/5. pg_trgm;
7/9. postgres_fdw;
8. pg_repack (новый, ушёл hstore);
9/8. pg_cron;
10/6. Citus.

В топе из пяти самых часто используемых языков появился Go:

SQL 48.2%
Python 39%
JavaScript or TypeScript 24.5%
Java 20%
Go 17.3%


Полная версия отчета Timescale
👍132🔥1🤔1
🎄Предновогодний интерактив на знание 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