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

Страницы:  1
Ответить
 

iptcpudp37

Стаж: 13 лет 11 месяцев

Сообщений: 884


iptcpudp37 · 28-Авг-19 16:21 (4 года 9 месяцев назад)

Изучаем PostgreSQL 10
Год издания: 2019
Автор: Джуба С., Волков А.
Жанр или тематика: СУБД
Издательство: ДМК Пресс
ISBN: 978-5-97060-643-8
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 401
Описание: Прочитав книгу, вы будете хорошо понимать основы PostgreSQL 10 и обладать
навыками, необходимыми для разработки эффективных решений с применением
базы данных. Это хорошее пособие для близкого знакомства с PostgreSQL. С той
или иной степенью полноты оно охватывает практически все вопросы, с которыми
встречается разработчик и администратор, начинающий профессионально работать
с этой СУБД.
Издание рекомендовано ведущими разработчиками PostgreSQL в России, оно
будет полезно как начинающим разработчикам, так и действующим администраторам этой СУБД.
Примеры страниц
Оглавление
Содержание
Благодарность от редакции..........................................................................5
Об авторах.........................................................................................................13
О рецензентах..................................................................................................15
Предисловие.....................................................................................................16
Глава 1. Реляционные базы данных........................................................22
Системы управления базами данных..................................................................22
Историческая справка.......................................................................................22
Категории баз данных.......................................................................................23
Базы данных NoSQL..........................................................................................23
Реляционные и объектно-реляционные базы данных.......................................25
Свойства ACID....................................................................................................26
Язык SQL............................................................................................................26
Понятия реляционной модели.........................................................................27
Реляционная алгебра.............................................................................................33
Операции выборки и проекции.......................................................................34
Операция переименования..............................................................................36
Теоретико-множественные операции.............................................................36
Операция декартова произведения.................................................................36
Моделирование данных........................................................................................38
Виды моделей данных.......................................................................................38
Модель сущность-связь.....................................................................................39
UML-диаграммы классов...................................................................................44
Резюме....................................................................................................................44
Глава 2. PostgreSQL в действии.................................................................46
Обзор PostgreSQL...................................................................................................46
История PostgreSQL...........................................................................................46
Преимущества PostgreSQL................................................................................47
Применения PostgreSQL....................................................................................48
Истории успеха..................................................................................................49
Ответвления.......................................................................................................49
Архитектура PostgreSQL....................................................................................50
Сообщество PostgreSQL.....................................................................................52
Возможности PostgreSQL......................................................................................52
Репликация........................................................................................................52
Безопасность......................................................................................................53
Расширения........................................................................................................54
Возможности NoSQL..........................................................................................55
Адаптеры внешних данных..............................................................................56
Производительность.........................................................................................57
Установка PostgreSQL............................................................................................58
Установка PostgreSQL с помощью менеджера пакетов APT...........................59
Установка PostgreSQL в Windows......................................................................63
Клиенты PostgreSQL..........................................................................................64
Резюме....................................................................................................................69
Глава 3. Основные строительные блоки PostgreSQL........................71
Кодирование базы данных....................................................................................71
Соглашение об именовании объектов базы данных.......................................71
Идентификаторы в PostgreSQL.........................................................................72
Документация....................................................................................................73
Система управления версиями........................................................................73
Средство миграции базы данных.....................................................................74
Иерархия объектов в PostgreSQL..........................................................................74
Шаблонные базы данных..................................................................................74
Пользовательские базы данных.......................................................................75
Роли....................................................................................................................76
Табличное пространство...................................................................................77
Шаблонные процедурные языки......................................................................78
Параметры.........................................................................................................78
Взаимодействия с объектами PostgreSQL верхнего уровня...........................80
Компоненты базы данных PostgreSQL.................................................................81
Схема..................................................................................................................81
Применение схем..............................................................................................82
Таблица...............................................................................................................83
Встроенные типы данных.................................................................................84
База данных сайта торговли автомобилями.......................................................91
Резюме....................................................................................................................94
Глава 4. Дополнительные строительные блоки PostgreSQL.........96
Представления.......................................................................................................96
Синтаксис определения представления..............................................................98
Категории представлений.....................................................................................99
Материализованные представления................................................................99
Обновляемые представления.............................................................................100
Индексы...........................................................................................................102
Синтаксис создания индекса..........................................................................103
Избирательность индекса...............................................................................103
Типы индексов.................................................................................................106
Категории индексов........................................................................................106
Рекомендации по работе с индексами...........................................................108
Функции...............................................................................................................109
Встроенные языки программирования PostgreSQL......................................110
Создание функции на языке C........................................................................110
Применение функций.....................................................................................112
Зависимости между функциями....................................................................112
Категории функций в PostgreSQL...................................................................113
Анонимные функции в PostgreSQL................................................................114
Пользовательские типы данных.........................................................................114
Триггеры и правила.............................................................................................118
Правила............................................................................................................118
Триггеры...........................................................................................................120
Резюме..................................................................................................................127
Глава 5. Язык SQL..........................................................................................129
Основы SQL..........................................................................................................129
Лексическая структура SQL.............................................................................131
Запрос данных командой SELECT......................................................................134
Структура запроса SELECT..............................................................................134
Список выборки...............................................................................................136
Фраза FROM......................................................................................................142
Фраза WHERE...................................................................................................148
Группировка и агрегирование........................................................................152
Упорядочение и ограничение количества результатов................................155
Подзапросы......................................................................................................156
Теоретико-множественные операции – UNION, EXCEPT, INTERSECT.........158
Значения NULL.................................................................................................159
Изменение данных в базе...................................................................................162
Команда INSERT...............................................................................................162
Команда UPDATE..............................................................................................164
Команда DELETE..............................................................................................166
Команда TRUNCATE.........................................................................................167
Резюме..................................................................................................................167
Глава 6. Дополнительные сведения о написании запросов........168
Общие табличные выражения............................................................................168
CTE как средство повторного использования SQL-кода...............................170
Рекурсивные и иерархические запросы........................................................172
Изменение данных сразу в нескольких таблицах.........................................176
Оконные функции...............................................................................................178
Содержание  9
Определение окна...........................................................................................179
Фраза WINDOW................................................................................................180
Использование оконных функций.................................................................181
Оконные функции с группировкой и агрегированием................................183
Продвинутые методы работы с SQL...................................................................184
Выборка первых записей................................................................................184
Извлечение выборочных данных...................................................................185
Функции, возвращающие множества............................................................186
Латеральные подзапросы...............................................................................189
Дополнительные средства группировки.......................................................191
Дополнительные виды агрегирования..........................................................193
Резюме..................................................................................................................195
Глава 7. Серверное программирование на PL/pgSQL....................196
Сравнение языков SQL и PL/pgSQL....................................................................196
Параметры функций в PostgreSQL.....................................................................197
Параметры функций, относящиеся к авторизации......................................197
Параметры функции, относящиеся к планировщику...................................199
Параметры функции, относящиеся к конфигурации...................................202
Команды управления в PL/pgSQL.......................................................................203
Объявления......................................................................................................203
Присваивание..................................................................................................205
Условные команды..........................................................................................207
Итерирование..................................................................................................209
Возврат из функции........................................................................................212
Предопределенные переменные в функциях...................................................215
Обработка исключений.......................................................................................216
Динамический SQL..............................................................................................218
Динамическое выполнение команд DDL.......................................................218
Динамическое выполнение команд DML......................................................219
Динамический SQL и кеширование...............................................................220
Рекомендации по использованию динамического SQL...............................220
Резюме..................................................................................................................222
Глава 8. OLAP и хранилища данных......................................................223
Оперативная аналитическая обработка............................................................224
Извлечение, преобразование и загрузка.......................................................225
Моделирование данных для OLAP.................................................................228
Агрегирование.................................................................................................230
Секционирование................................................................................................231
Параллельные запросы.......................................................................................235
Просмотр только индексов.................................................................................236
Резюме..................................................................................................................238
Глава 9. За пределами традиционных типов данных....................239
Массивы................................................................................................................240
Функции и операторы массивов....................................................................243
Доступ к элементам массива и их модификация..........................................244
Индексирование массивов..............................................................................245
Хранилище ключей и значений.........................................................................246
Индексирование hstore...................................................................................248
Структура данных JSON.......................................................................................249
JSON и XML.......................................................................................................249
Типы данных JSON в PostgreSQL....................................................................250
Доступ к объектам типа JSON и их модификация.........................................250
Индексирование JSON-документов...............................................................252
Реализация REST-совместимого интерфейса к PostgreSQL.........................253
Полнотекстовый поиск в PostgreSQL.................................................................257
Типы данных tsquery и tsvector......................................................................257
Сопоставление с образцом.............................................................................258
Полнотекстовые индексы...............................................................................260
Резюме..................................................................................................................261
Глава 10. Транзакции и управление параллельным
доступом...........................................................................................................262
Транзакции..........................................................................................................262
Транзакции и свойства ACID..........................................................................263
Транзакции и конкурентность.......................................................................264
Уровни изоляции транзакций........................................................................267
Явная блокировка................................................................................................272
Блокировка на уровне таблиц.........................................................................273
Блокировка на уровне строк...........................................................................276
Взаимоблокировки..........................................................................................277
Рекомендательные блокировки.....................................................................278
Резюме..................................................................................................................279
Глава 11. Безопасность в PostgreSQL....................................................281
Аутентификация в PostgreSQL............................................................................281
Файл pg_hba.conf..............................................................................................283
Прослушиваемые адреса.................................................................................284
Рекомендации по аутентификации...................................................................284
Привилегии доступа по умолчанию...................................................................285
Система ролей и прокси-аутентификация........................................................286
Уровни безопасности в PostgreSQL....................................................................288
Безопасность на уровне базы данных............................................................288
Безопасность на уровне схемы.......................................................................289
Безопасность на уровне таблицы...................................................................289
Безопасность на уровне столбца....................................................................290
Безопасность на уровне строк........................................................................290
Шифрование данных...........................................................................................293
Шифрование паролей ролей в PostgreSQL.....................................................293
Расширение pgcrypto.......................................................................................293
Резюме..................................................................................................................297
Глава 12. Каталог PostgreSQL...................................................................298
Системный каталог..............................................................................................298
Системный каталог для администраторов........................................................301
Получение версии кластера баз данных и клиентских программ...............301
Завершение и отмена пользовательского сеанса..........................................301
Задание и получение параметров кластера баз данных..............................302
Получение размера базы данных и объекта базы данных...........................304
Очистка базы данных..........................................................................................305
Очистка данных в базе....................................................................................308
Оптимизация производительности...................................................................310
Избирательная выгрузка.....................................................................................311
Резюме..................................................................................................................314
Глава 13. Оптимизация производительности базы данных........315
Настройка конфигурационных параметров PostgreSQL..................................316
Максимальное количество подключений......................................................316
Параметры памяти..........................................................................................316
Параметры жесткого диска.............................................................................317
Параметры планировщика.............................................................................317
Эталонное тестирование вам в помощь........................................................318
Оптимизация производительности записи......................................................318
Оптимизация производительности чтения......................................................321
План выполнения и команда EXPLAIN..........................................................322
Обнаружение проблем в планах выполнения запросов...................................326
Типичные ошибки при написании запросов....................................................329
Избыточные операции....................................................................................329
Индексы отсутствуют или построены не так.................................................329
Использование CTE без необходимости........................................................333
Использование процедурного языка PL/pgSQL.............................................333
Межстолбцовая корреляция...........................................................................334
Секционирование таблиц...................................................................................336
Недостатки механизма исключения в силу ограничений............................336
Переписывание запросов....................................................................................337
Резюме..................................................................................................................338
Глава 14. Тестирование...............................................................................339
Автономное тестирование..................................................................................339
Специфика автономного тестирования в базе данных................................340
Фреймворки юнит-тестирования..................................................................343
Различие схем..................................................................................................345
Интерфейсы абстрагирования базы данных.....................................................346
Отличия в данных............................................................................................347
Тестирование производительности...............................................................350
Резюме..................................................................................................................352
Глава 15. PostgreSQL в приложениях на Python..............................353
Python DB API 2.0.................................................................................................354
Низкоуровневый доступ к базе данных с помощью psycopg2.........................355
Соединение с базой данных...........................................................................357
Пул соединений...............................................................................................358
Выполнение SQL-команд................................................................................359
Чтение данных из базы...................................................................................361
Команда COPY..................................................................................................361
Асинхронный доступ.......................................................................................362
Альтернативные драйверы для PostgreSQL.......................................................363
pg8000...............................................................................................................363
asyncpg..............................................................................................................364
SQLAlchemy – библиотека объектно-реляционного отображения..................366
Основные компоненты SQLAlchemy..............................................................367
Подключение к базе и выборка данных с помощью языка
SQL Expression..................................................................................................367
ORM..................................................................................................................369
Резюме..................................................................................................................373
Глава 16. Масштабируемость...................................................................374
Проблема масштабируемости и теорема CAP...................................................375
Репликация данных в PostgreSQL.......................................................................377
Журнал транзакций.........................................................................................377
Физическая репликация.................................................................................378
Логическая репликация..................................................................................384
Применение репликации для масштабирования PostgreSQL..........................387
Масштабирование на большое количество запросов...................................388
Разделение данных.........................................................................................389
Масштабирование с ростом числа подключений.........................................391
Резюме..................................................................................................................392
Предметный указатель...............................................................................394
Download
Rutracker.org не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм
Как скачивать? (для скачивания .torrent файлов необходима регистрация)
[Профиль]  [ЛС] 

Малин

Стаж: 15 лет 6 месяцев

Сообщений: 5

Малин · 03-Июл-20 15:53 (спустя 10 месяцев, ред. 03-Июл-20 15:53)

Плохой учебник. Понятия даются через еще не выраженные понятия, примеры приводятся до того, как объясняется базовый синтаксис. Прочитал 100 страниц, ощущение фрустрации меня так и не покинуло, перешел на видеокурсы. Опыт изучения программирования по книгам есть, и положительный. Но не в этом случае.
[Профиль]  [ЛС] 

movast

Стаж: 5 лет 10 месяцев

Сообщений: 216


movast · 06-Окт-20 14:51 (спустя 3 месяца 2 дня)

Малин писал(а):
79715537Плохой учебник.
что можете иное посоветовать?
[Профиль]  [ЛС] 

milk720720

Стаж: 9 лет 10 месяцев

Сообщений: 11


milk720720 · 10-Дек-20 11:11 (спустя 2 месяца 3 дня)

Желательно прочитать и понять первые 40 страниц из учебника "Калужин-Л.А.-Введение-в-общую-алгебру-1973"( тоже есть раздача) и тогда будете уже понимать почти что интуитивно что здесь пишется.
[Профиль]  [ЛС] 

d333__dscxv123

Стаж: 4 года 1 месяц

Сообщений: 16

d333__dscxv123 · 20-Мар-21 11:02 (спустя 3 месяца 9 дней)

Малин писал(а):
79715537Плохой учебник. Понятия даются через еще не выраженные понятия, примеры приводятся до того, как объясняется базовый синтаксис. Прочитал 100 страниц, ощущение фрустрации меня так и не покинуло, перешел на видеокурсы. Опыт изучения программирования по книгам есть, и положительный. Но не в этом случае.
Забанили в гугле?
[Профиль]  [ЛС] 

tapkafallen

Стаж: 13 лет 8 месяцев

Сообщений: 14


tapkafallen · 29-Дек-21 20:28 (спустя 9 месяцев)

Малин писал(а):
79715537Плохой учебник. Понятия даются через еще не выраженные понятия, примеры приводятся до того, как объясняется базовый синтаксис. Прочитал 100 страниц, ощущение фрустрации меня так и не покинуло, перешел на видеокурсы. Опыт изучения программирования по книгам есть, и положительный. Но не в этом случае.
Ну так он рассчитан на более подготовленных людей, что не знаешь заходишь гуглишь, например в сравнении с талмудом по ораклу в 1000странци, когдаа читаешь и не понятно - это опять для "непрограммистов" описываться циклы или нужно действительно обратить внимание, вопнле себе - щас ещё с другими книгами сравню и видосиками - если замечаний не будет в этом топике книга хорошая качайте !
[Профиль]  [ЛС] 

Andrew M. Goncharov

Стаж: 2 года

Сообщений: 36


Andrew M. Goncharov · 25-Окт-22 23:02 (спустя 9 месяцев, ред. 25-Окт-22 23:02)

Книгу не читал, но начал чтиво на англоязычных ресурсах и понял, что переходить на эту СУБД с очень компактной и примитивной SQLite со значительным расширением проекта.
По большому счету, на данный момент у меня преград особых не намечено (посмотрим, однако), но другое интересно: на сегодня актуальная версия - 14.
**Насколько устарела 10-я?**
Знающие, отпишитесь, плиз.
[Профиль]  [ЛС] 

iptcpudp37

Стаж: 13 лет 11 месяцев

Сообщений: 884


iptcpudp37 · 26-Окт-22 13:26 (спустя 14 часов)

Andrew M. Goncharov писал(а):
83813541Книгу не читал, но начал чтиво на англоязычных ресурсах и понял, что переходить на эту СУБД с очень компактной и примитивной SQLite со значительным расширением проекта.
По большому счету, на данный момент у меня преград особых не намечено (посмотрим, однако), но другое интересно: на сегодня актуальная версия - 14.
**Насколько устарела 10-я?**
Знающие, отпишитесь, плиз.
Актуальность зависит от потребностей проекта (текущих и возможных будущих). Сравните характеристики и возможности 10 и 14 версий в сети и, затем, со спецификациями проекта.
[Профиль]  [ЛС] 

Andrew M. Goncharov

Стаж: 2 года

Сообщений: 36


Andrew M. Goncharov · 26-Окт-22 16:45 (спустя 3 часа)

iptcpudp37 писал(а):
83815278
Andrew M. Goncharov писал(а):
83813541Книгу не читал, но начал чтиво на англоязычных ресурсах и понял, что переходить на эту СУБД с очень компактной и примитивной SQLite со значительным расширением проекта.
По большому счету, на данный момент у меня преград особых не намечено (посмотрим, однако), но другое интересно: на сегодня актуальная версия - 14.
**Насколько устарела 10-я?**
Знающие, отпишитесь, плиз.
Актуальность зависит от потребностей проекта (текущих и возможных будущих). Сравните характеристики и возможности 10 и 14 версий в сети и, затем, со спецификациями проекта.
Спасибо за ответ. Думаю, до радикальных отличий если и дойдёт, то они не будут иметь массовый характер, и в таком случае нетрудно что-то будет и погуглить.
Благодарю за раздачу))
[Профиль]  [ЛС] 

Бохай

Стаж: 14 лет 3 месяца

Сообщений: 70

Бохай · 30-Июл-23 15:47 (спустя 9 месяцев, ред. 30-Июл-23 15:47)

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

AshBone

Стаж: 16 лет 5 месяцев

Сообщений: 23

AshBone · 28-Окт-23 12:16 (спустя 2 месяца 28 дней, ред. 28-Окт-23 12:16)

Если вы видите руководство по СУБД, в котором меньше 600 страниц, то можете смело отправлять его в топку не читая )))
(Правда многие аффтары умеют размазать кал и по 1000+ страницам...)
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error