Введение
Для кого написана эта книга?
Структура книги
Платформа и версия PostgreSQL
Компакт-диск
Принятые обозначения
Благодарности
От издательства
Часть I. Общие сведения и установка Глава 1. Что такое PostgreSQL?
Бесплатная версия
Коммерческие продукты семейства PostgreSQL
Продукты бесплатные и коммерческие
Выводы
Поддержка сообщества PostgreSQL
Возможности PostgreSQL
Что дальше?
Глава 2. Установка PostgreSQL
Подготовка к установке
Обязательные пакеты
Дополнительные пакеты
Дисковое пространство
10 этапов установки PostgreSQL
Этап 1. Создание пользователя postgres
Этап 2. Установка пакета исходных текстов PostgreSQL
Этап 3. Настройка конфигурации
Этап 4. Компиляция исходных текстов
Этап 5. Регрессионное тестирование
Этап 6. Установка откомпилированных программ и библиотек
Этап 7. Настройка переменных среды
Этап 8. Инициализация и запуск PostgreSQL
Этап 9. Настройка сценария SysV для PostgreSQL
Этап 10. Создание базы данных
Часть II. Использование PostgreSQL Глава 3. Краткий курс SQL
Знакомство с SQL
Краткая история SQL
Язык SQL и его предшественники
Стандарты SQL
Знакомство с реляционными базами данных
Базы данных
Таблицы
Команды SQL
Анатомия команд SQL
Форматирование команд SQL
Ключевые слова и идентификаторы
Константы
Специальные символы
Комментарии
Выводы
Типы данных
Псевдозначение NULL
Логические значения 3
Символьные типы
Числовые типы
Дата и время
Геометрические типы
Массивы
Преобразование типов
Таблицы в PostgreSQL
Системные поля
Идентификаторы объектов
Предварительное планирование
Глава 4. SQL в PostgreSQL
Знакомство с psql
Запуск psql
Синтаксис psql
Выполнение запросов
Использование таблиц
Создание таблицы командой CREATE TABLE
Модификация таблицы командой ALTER TABLE
Реструктуризация таблиц
Удаление таблиц командой DROP TABLE
Добавление данных командами INSERT и COPY
Вставка новых данных
Вставка данных из других таблиц командой SELECT
Копирование данных из внешних файлов командой COPY
Выборка данных командой SELECT
Простая команда SELECT
Выбор полей
Выражения, константы и синонимы
Выбор источников в секции FROM
Синонимы источников данных в секции FROM
Удаление дубликатов и ключевое слово DISTINCT
Уточнение запросов
Объединение наборов данных
Группировка записей
Сортировка записей
Выбор интервалов записей
Сравнение наборов записей
Конструкции CASE
Создание таблиц на базе существующих таблиц
Модификация записей командой UPDATE
Обновление поля во всех записях таблицы
Обновление нескольких полей
Обновление записей по нескольким источникам
Удаление записей командой DELETE
Подзапросы
Представления
Создание представления
Применение представлений
Уничтожение представлений
Другие возможности SQL
Глава 5. Операторы и функции
Операторы
Правила использования операторов
Строковые операторы
Числовые операторы
Логические операторы
Операторы и NULL
Приоритет операторов
Функции
Использование функций
Математические функции
Строковые функции
Функции для работы с датой и временем
Функции преобразования типа
Агрегатные функции
Глава 6. Клиенты PostgreSQL
Дополнительные возможности клиента psql
Параметры командной строки
Управляющие команды psql
Загрузка запросов из внешних файлов
Библиотеки readline и history
Работа с переменными
Настройка приглашения psql
Графический клиент PgAccess
Установка и базовая настройка
Операции с пользователями
Операции с группами
Создание баз данных
Создание таблиц
Работа с запросами
Создание функций
Глава 7. Нетривиальные возможности
Индексы
Создание индекса
Удаление индекса
Нетривиальное использование таблиц
Ограничения в таблицах
Наследование
Массивы
Создание полей со значениями-массивами
Вставка значений в поля-массивы
Выборка из полей-массивов
Обновление данных в полях-массивах
Автоматизация стандартных процедур
Последовательности
Триггеры
Транзакции и курсоры
Транзакционные блоки
Использование курсоров
Расширение PostgreSQL
Создание новых функций
Создание новых операторов
Часть III. Администрирование PostgreSQL Глава 8. Аутентификация и шифрование
Аутентификация клиента
Аутентификация с использованием паролей
Файл pg_hba.conf
Отказ в аутентификации
Шифрование сеанса
Встроенная поддержка SSL
SSH/OpenSSH
Настройка и использование пакета Stunnel
Глава 9. Управление базами данных
Запуск и завершение PostgreSQL
Приложение pg_ctl
Сценарий SysV
Прямое обращение к postmaster
Инициализация файловой системы
Инициализация кластера баз данных
Инициализация вторичного каталога
Создание и удаление баз данных
Создание базы данных
Удаление базы данных
Сопровождение базы данных
Команда VACUUM
Документирование базы данных
Архивация и восстановление данных
Приложение pg_dump
Приложение pg_dumpall
Восстановление базы данных
Когда следует архивировать и восстанавливать данные
Архивация файловой системы
Глава 10. Управление пользователями и группами
Управление пользователями
Просмотр списка пользователей
Создание пользователей
Модификация пользователей
Управление группами
Создание и удаление групп
Назначение пользователей в группы
Предоставление привилегий
Управление доступом
Предоставление привилегий командой GRANT
Ограничение прав командой REVOKE
Представления при контроле доступа
Часть IV. Программирование в PostgreSQL Глава 11. PL/pgSQL
Поддержка PL/pgSQL
Включение поддержки PL/pgSQL при помощи psql
Включение поддержки PL/pgSQL приложением createlang
Структура языка
Блоки
Комментарии
Команды и выражения
Переменные
Типы данных
Присваивание
Аргументы
Возвращение переменных
Атрибуты
Конкатенация
Передача управления
Условные команды
Циклы
Обработка ошибок и исключений
Вызов функций
PL/pgSQL и триггеры
Глава 12. JDBC
Построение драйвера JDBC для PostgreSQL
Использование драйвера PostgreSQL
Использование JDBC
Принципы использования JDBC
Нетривиальные возможности JDBC
Специфика использования JDBC с PostgreSQL
Глава 13. LXP
Преимущества LXP
Базовые возможности
Включение данных
Взаимодействие с PostgreSQL
Fingerless
Установка и настройка LXP
Установка LXP
Настройка файла lxp.conf
Знакомство с разметкой LXP
Теги LXP
Блоки LXP
Переменные и объекты LXP
Правила формирования имен
Использование переменных и объектов
Аргументы CGI
Массивы CGI
Объекты непосредственных запросов SQL
Глобальные объекты LXP
Использование cookie в LXP
Присваивание cookie
Чтение cookie
Лексический разбор тегов
Подстановка переменных
Подстановка объектных переменных
Подстановка сущностей
Тег
Условная логика
Теги и
Теги и
Теги , и
Циклы
Включение данных
Включение файлов LXP
Включение неструктурированных файлов
Включение файлов с разделителями
Включение файлов XML, RSS и RDF
Включение внешних источников данных
Включение данных SQL
Внешние теги
Часть V. Команды
Глава 14. Команды PostgreSQL
Приложение А. Типы расширенных кодировок
Приложение Б. Ключи командной строки postgres
Приложение В. Двоичный формат команды COPY
Заголовок
Записи
Завершение
Приложение Г. Внутренние переменные psql
Алфавитный указатель