Введение 
 Для кого написана эта книга?
 Структура книги 
 Платформа и версия 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 
 Алфавитный указатель