8 книг по PostgreSQL для новичков и профессионалов

PostgreSQL — это объектно-реляционная система управления базами данных (СУБД), разработанная более 20 лет назад. Предназначена для создания и поддержки баз данных серверных приложений, в том числе ресурсоемких аналитических БД. Одной из особенностей этой СУБД является открытый исходный код, что обеспечило системе значительное развитие и большую популярность.

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

«Оптимизация запросов PostgreSQL»

Авторы: Г. Домбровская, Б. Новиков, А. Бейликова

Уровень: продолжающие

Оптимизация запросов PostgreSQL - Г. Домбровская, Б. Новиков, А. Бейликова

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

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

На примере работы с обширной базой данных виртуальной авиакомпании читатель научится:

  • выполнять целевую оптимизацию в системах OLTP и OLAP,
  • лучше понимать планы выполнения в системе PostgreSQL,
  • выбирать индексы, улучшающие производительность запросов,
  • оптимизировать процесс полного сканирования таблиц,
  • выбирать наилучшую технику оптимизации для определенных запросов,
  • безболезненно решать проблемы при работе с ORM-фреймворками.

Об авторах

→ Генриетта Домбровская — доктор физико-математических наук СПбГУ, специалист по науке о базах данных. В настоящее время заместитель директора по БД в Braviant Holdings (Чикаго, США). Это крупная компания, разрабатывающая системы машинного обучения. Домбровская также принимает активное участие в жизни сообщества Postgres и является одним из его лидеров.

Борис Новиков — профессор НИУ «Высшая школа экономики». Специализируется на системах управления информацией, потоковой обработки данных и аналитических приложениях. Имеет многолетний опыт работы с PostgreSQL.

Анна Бейликова — старший специалист по обработке данных в Zendesk. Это один из ведущих разработчиков программного обеспечения для крупного бизнеса. Также Бейликова является специалистом по работе с ETL-процессами (извлечение, преобразование и загрузка данных в корпоративных системах).

Где купить или скачать

Купить книгу можно на сайте издательства.

«Изучаем PostgreSQL 10»

Авторы: С. Джуба, А. Волков

Уровень: начинающие

Изучаем PostgreSQL 10 - С. Джуба, А. Волков

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

В книге подробно освещаются следующие темы:

  • реляционные и объектно-реляционные БД с необходимыми алгебраическими операциями и моделированием данных,
  • достоинства, архитектурные особенности и возможности PostgreSQL,
  • основные блоки и функции Postgres, включая кодирование, иерархию объектов и компоненты баз данных (в качестве примера рассмотрена БД автомобильного сайта),
  • дополнительные блоки и продвинутые функции Postgres: представления, выборки, извлечения, возвращение множеств, подзапросы, возможности группировки и агрегирования,
  • основы серверного программирования на PL/pgSQL и динамическом SQL,
  • технология обработки данных OLAP,
  • транзакции, блокировки, основы безопасности, типы и структуры данных, каталоги,
  • оптимизация производительности и тестирование,
  • совместимость с серверными приложениями, написанными на Python, проблемы масштабируемости.

Об авторах

→ Джуба Салахалдин — сертифицированный разработчик ПО (сертификат MCSD), специалист по СУБД PostgreSQL, Greenplum и SQL Server, ETL-процессам обработки данных, разработке приложений OLAP и OLTP.
→ Андрей Волков —  преподаватель SQL, специалист по системам финансовых и бухгалтерских данных и аналитики, основанных на Oracle. Работал финансовым аналитиком, архитектором хранилищ данных, занимался разработкой ETL-процессов. В настоящее время Волков занимает должность руководителя отдела разработки БД в телекоммуникационной компании.

Где купить или скачать

Файлы к книге можно скачать на сайте издательства. Там же есть информация по ее приобретению.

«Основы технологий баз данных: учебное пособие»

Автор: Б. Новиков, Е. Горшкова, Н. Графеева

Уровень: смешанный

Основы технологий баз данных: учебное пособие - Б. Новиков, Е. Горшкова, Н. Графеева

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

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

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

Темы, которые будут интересны профессиональным разработчикам, включают:

  • обеспечение согласованности работы СУБД и ее отказоустойчивости,
  • возможности хранения коллекций и больших объектов,
  • адаптивные методы оптимизации запросов, параметрическая, семантическая и многокритериальная оптимизация запросов,
  • особенности управления транзакциями с описанием критериев корректности, диспетчеров и протоколов,
  • вопросы обеспечения надежности БД, механизмы восстановления, описание разрушения носителя,
  • дополнительные возможности, функции и процедуры PL/pgSQL и динамического SQL,
  • механизмы расширения PostgreSQL, включая специальные модули, обертки и сторонние процедурные языки,
  • модели, средства и обеспечение поддержки полнотекстового и нечеткого поиска,
  • обеспечение безопасности данных, права и разграничение доступа, привилегии,
  • администрирование, репликация БД, архитектура параллельных и распределенных БД, вопросы согласованности и выполнения запросов.

Об авторах

О Борисе Новикове мы уже рассказывали выше, поэтому несколько слов о соавторах.

→ Екатерина Горшкова —  специалист по проектированию высоконагруженных приложений, анализу потоков данных, информационному поиску.

→ Наталья Графеева — занимается разработкой и проектированием крупных информационных систем, специалист в области систем БД, Big data и информационного поиска.

Где купить или скачать

Этот учебник бесплатный и доступен на официальном сайте Postgres Pro.

«PostgreSQL изнутри»

Автор: Е. Рогов

Уровень: продолжающие

PostgreSQL изнутри - Е. Рогов

Эта книга для «практикующих», то есть для администраторов баз данных и программистов, работающих с БД. Автор стремится избегать готовых рецептов (ведь на каждый случай их не напасешься), а старается дать читателю понимание механик работы PostgreSQL. Постигнув их, специалисты смогут самостоятельно находить решение в каждом конкретном случае.

Такой подход может замедлить решение конкретной задачи, однако принесет куда больше пользы в будущем. Рано или поздно перед программистом возникнут проблемы, решение которых уже не «нагуглишь». 

В пяти частях книги подробно рассмотрены следующие темы:

  • изоляция, работа с версиями, очистка внутри страниц и автоматическая очистка, перестроение структуры,
  • буферный кеш Postgres, журнал и его режимы,
  • различные виды блокировок (или замков) для решения проблемы одновременного обращения к файлам данных,
  • запросы, статистика, различные методы доступа, сканирование, хеширование, сортировка, вложенные циклы,
  • хеш-индексы для нахождения идентификаторов версий строк и виды хеш-индексов (GiST, SP-GiST, GIN, BRIN и другие).

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

Об авторе

Егор Рогов с 2015 года работает в Postgres Professional (компания-разработчик СУБД) и ведет там обучающие курсы для слушателей разного уровня. До этого работал руководителем проектов в нескольких компаниях, занимающихся разработкой приложений для баз данных.

Где купить или скачать

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

Облачные базы данных PostgreSQL

Примените знания на практике в готовых кластерах баз данных.
Узнать больше

«Postgres: первое знакомство»

Авторы: П. Лузанов, Е. Рогов, И. Лёвшин

Уровень: начинающие

Postgres: первое знакомство - П. Лузанов, Е. Рогов, И. Лёвшин

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

Помимо общего описания СУБД, которое представлено в первой главе, читатель также узнает о следующем:

  • новые возможности и «фишки» PostgreSQL 14, последней на данный момент версии программы,
  • особенности установки СУБД в ОС Windows и Linux,
  • подключение к серверу, написание SQL-запросов, использование транзакций,
  • демобаза как возможность для углубления знаний SQL,
  • использование Postgres в качестве БД для аналитических и веб-приложений,
  • особенности серверных настроек при подключении 1C и других систем,
  • pgAdmin — программа, которая может оказаться полезнее, чем многие думают,
  • особенности формата JSON, возможность подключения доступа к внешним данным и включения полнотекстового поиска.

Также авторы дают подробную информацию о курсах по Postgres, рассказывают, как получить сертификат специалиста по этой СУБД и как не отставать от остальных в изучении предмета (список полезных книг и ресурсов прилагается).

Об авторах

→ Павел Лузанов — директор по образовательным программам компании Postgres Professional. Общее описание проводимых курсов можно найти в самой книге (раздел «Обучение и сертификация»), а вся актуальная информация здесь.

Игорь Лёвшин — программист, разработчик БД и автор блога. В нем он публикует ежемесячные отчеты с подробным описанием того, что случилось в мире Postgres, — от нюансов разработки до описания мероприятий в разных точках мира.

Где купить или скачать

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

«PostgreSQL. Основы языка SQL»

Автор: Е. Моргунов

Уровень: начинающие

PostgreSQL. Основы языка SQL - Е. Моргунов

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

  • В главе 4 изучаются типы данных в PostgreSQL (числовые, строковые, дата-временные, логические и другие).
  • Глава 5 посвящена основам языка, в том числе описываются значения по умолчанию, механизмы работы с таблицами и модификация последних, схемы и представления.
  • В главе 6 рассматриваются запросы и подзапросы, которые являются частями общих запросов.
  • Седьмая глава рассказывает о различных способах изменения данных – вставке, обновлении и удалении строк в таблицах БД.
  • Глава 8  — об индексах, частичных, уникальных и на основе выражений.
  • Глава 9 рассказывает о важнейшем типе операций — транзакциях. Рассматриваются различные уровни изоляции, блокировки и даются примеры транзакций.
  • Последняя глава посвящена описанию методов повышения производительности, что всегда актуально при работе с объемными базами данных. Вы узнаете о том, как управлять планировщиком, оптимизировать запросы, изучите методы формирования соединений и просмотра таблиц.

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

Об авторе

→ Евгений Моргунов — преподаватель СибГУ (Новосибирск), работал программистом еще с конца 1980-х годов, стоял у истоков разработки банковских приложений. При этом он является сторонником свободно распространяемого ПО — по крайней мере, в учебном процессе. Написал более 50 книг, имеет опыт работы с PostgreSQL более 17 лет.

Где купить или скачать

Еще одна бесплатная и при этом качественная работа, почитать или скачать которую можно все там же, на сайте Postgres Professional.

«Mastering PostgreSQL 13»/«PostgreSQL 13. Мастерство разработки»

Автор: Hans-Jürgen Schönig (Ханс-Юрген Шёниг)

Уровень: продолжающие

Mastering PostgreSQL 13 - Hans-Jürgen Schönig

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

  • Глава 1 содержит обзор PostgreSQL и его функций. Также вы узнаете о новых вещах, доступных в PostgreSQL 13.
  • В главе 2 — «Понимание транзакций и блокировок» — рассматривается один из наиболее важных аспектов любой системы баз данных. Правильная работа БД обычно невозможна без транзакций, и понимание транзакций и блокировок — ключ к обеспечению производительности системы.
  • Глава 3 охватывает все, что нужно знать об индексах, которые очень важны для производительности базы данных. Если вы хотите получить хорошее взаимодействие базы данных с пользователем и высокую пропускную способность, уделите особое внимание этой главе.
  • Глава 4 познакомит вас с некоторыми концепциями современного SQL. Вы узнаете об аналитических функциях и других важных элементах SQL.
  • В главе 5 автор расскажет об управлении файлами журналов и особенностях мониторинга БД. Вы узнаете, как проверять свои серверы и извлекать информацию о времени выполнения процедуры в PostgreSQL.
  • Глава 6 называется «Оптимизация запросов для повышения производительности». Здесь рассматривается настройка SQL, а также дается полезная информация об управлении памятью.
  • В главе 7 представлены дополнительные темы, связанные с кодом на стороне сервера. Рассматриваются популярные серверные языки программирования и даются советы по совместимости с приложениями на этих языках.
  • Информация в главе 8 поможет улучшить безопасность вашего сервера. Здесь представлено все необходимое для этого: от управления правами пользователей до шифрования данных.
  • Глава 9 посвящена резервному копированию и восстановлению данных. Вы научитесь создавать резервные копии своих файлов, что позволит восстановить данные в случае отказа системы.
  • Глава 10 «Понимание резервного копирования и репликации» посвящена проблеме избыточности. Вы научитесь асинхронной и синхронной репликации системы баз данных PostgreSQL. Все современные функции объясняются максимально доступно.
  • Глава 11 описывает модули, которые расширяют функциональные возможности PostgreSQL. Вы узнаете о наиболее распространенных расширениях.
  • В главе 12 автор предлагает системный подход к устранению проблем в PostgreSQL. Это позволит оперативно выявлять распространенные проблемы и подходить к ним во всеоружии.
  • Последняя глава этой книги рассказывает о том, как безболезненно перейти с других БД на PostgreSQL. Здесь рассматриваются такие популярные базы данных, как MySQL, Oracle, MariaDB, SQLite, Db2 LUW и Microsoft SQL Server.

Об авторе

→ Ханс-Юрген Шёниг — генеральный директор компании Cybertec Schönig & Schönig GmbH, занимающейся поддержкой PostgreSQL и консалтинговыми услугами. До основания собственной фирмы в 2000 году он был разработчиком базы данных в частной компании, занимавшейся исследованием австрийского рынка труда. Там он выполнял интеллектуальный анализ данных и выстраивал модели прогнозирования. Ханс-Юрген также является автором еще нескольких книг по СУБД.

Где купить или скачать

Купить книгу в любом виде (бумажном, электронном) можно здесь. На данный момент заказать оригинальную бумажную версию из-за рубежа проблематично, однако эту же книгу, но по PostgreSQL 11, можно приобрести на сайте российского издательства. Она немного устарела, однако весь основной материал по-прежнему актуален и книга переведена на русский язык.

«Beginning PostgreSQL on the Cloud»/«Запуск PostgreSQL в облаке»

Авторы: Baji Shaik, Avinash Vallarapu (Баджи Шайк, Авинаш Валларапу)

Уровень: продолжающие

Beginning PostgreSQL on the Cloud - Baji Shaik, Avinash Vallarapu

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

В книге содержится подробная информация об основных компаниях, предоставляющих услуги по развертыванию базы данных PostgreSQL в облаке. Книга начинается с введения в DBaaS и IaaS и краткого описания факторов, которые необходимо учитывать при развертывании баз данных. 

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

Книга посвящена зарубежным провайдерам, однако эти знания будут полезны и в работе с готовыми кластерами баз данных в России. 

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

Об авторах

Баджи Шайк — администратор и разработчик баз данных, работает старшим консультантом по базам данных в OpenSCG (Хайдарабад, Индия). Он познакомился с СУБД в 2011 году и более 10 лет плотно работал с Oracle, PostgreSQL и Greenplum. Обладает обширными знаниями и опытом работы с базами данных SQL/NoSQL и за сравнительно короткий срок успел разработать множество оригинальных решений для баз данных, отвечающих жестким требованиям бизнеса. Баджи регулярно организует встречи представителей сообщества PostgreSQL и ведет собственный блог на Blogspot, где совершенно бескорыстно делится своими знаниями с сообществом. Он также является соавтором еще одной книги по данной СУБД, PostgreSQL Development Essentials.

→ Авинаш Валларапу работает архитектором баз данных в одной из материнских компаний PostgreSQL — OpenSCG. Он имеет 15-летний опыт работы с различными системами управления баз данных, такими как Oracle, PostgreSQL, MySQL, MariaDB и MongoDB, и является активным разработчиком приложений на Python. Он также является разработчиком инструмента pgPulse, который включает такие функции, как AWR и моментальные снимки в PostgreSQL 9 и выше. Авинаш выступал на ряде конференций и встреч по PostgreSQL, где делился опытом миграции с Oracle на PostgreSQL и развертывания PostgreSQL в облаке. Кроме того, он является экспертом по базам данных, активно участвует в различных соревнованиях и уже выиграл несколько хакатонов. Интерес Авинаша к упрощению сложных задач с помощью автоматизации делает его уникальным специалистом в сообществе.

Где купить или скачать

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

Автор: Роман Андреев

Что еще почитать по теме

Михаил Фомин 21 ноября 2022

Как переехать на Kubeflow в качестве ML-платформы?

В статье рассказываем о том, как перейти на Kubeflow в качестве ML-платформы. По мотивам доклада компании Mediascope.
Михаил Фомин 21 ноября 2022
Андрей Салита 16 ноября 2022

Криптографические средства защиты: что это такое

Рассказываем, что такое СКЗИ, какие они бывают и как регулируются законом.
Андрей Салита 16 ноября 2022

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
T-Rex 23 ноября 2022

Как работает СУБД Redis

Рассказываем, что такое Redis: рассматриваем его применение и преимущества, поддерживаемые типы данных.
T-Rex 23 ноября 2022

Полезные ресурсы для погружения в Go

Попросили коллег порекомендовать ресурсы для изучения Go и собрали подборку. Пригодится и начинающим, и опытным специалистам.
Дарья Маташина 22 ноября 2022

Как пережить «Черную пятницу»‎ без потерь?

Чек-лист для подготовки IT-инфраструктуры и специальные предложения от Selectel.
Дарья Маташина 22 ноября 2022