Часть II. Язык SQL
В этой части книги описывается использование языка SQL в PostgreSQL. Мы начнём с описания общего синтаксиса SQL, затем расскажем, как создавать структуры для хранения данных, как наполнять базу данных и как выполнять запросы к ней. В продолжении будут перечислены существующие типы данных и функции, применяемые с командами SQL. И наконец, закончится эта часть рассмотрением важных аспектов настройки базы данных для оптимальной производительности.
Материал этой части упорядочен так, чтобы новичок мог прочитать её от начала до конца и полностью понять все темы, не забегая вперёд. При этом главы сделаны самодостаточными, так что опытные пользователи могут читать главы по отдельности. Информация в этой части книги представлена в повествовательном стиле и разделена по темам. Если же вас интересует формальное и полное описание определённой команды, см. Часть VI.
Читатели этой части книги должны уже знать, как подключаться к базе данных PostgreSQL и выполнять команды SQL. Если вы ещё не знаете этого, рекомендуется сначала прочитать Часть I. Команды SQL обычно вводятся в psql — интерактивном терминальном приложении PostgreSQL, но можно воспользоваться и другими программами с подобными функциями.
Содержание
- 4. Синтаксис SQL
- 5. Определение данных
- 5.1. Основы таблиц
- 5.2. Значения по умолчанию
- 5.3. Генерируемые столбцы
- 5.4. Ограничения
- 5.5. Системные столбцы
- 5.6. Изменение таблиц
- 5.7. Права
- 5.8. Политики защиты строк
- 5.9. Схемы
- 5.10. Наследование
- 5.11. Секционирование таблиц
- 5.12. Сторонние данные
- 5.13. Другие объекты баз данных
- 5.14. Отслеживание зависимостей
- 5.2. Значения по умолчанию
- 5.1. Основы таблиц
- 6. Модификация данных
- 7. Запросы
- 8. Типы данных
- 8.1. Числовые типы
- 8.2. Денежные типы
- 8.3. Символьные типы
- 8.4. Двоичные типы данных
- 8.5. Типы даты/времени
- 8.6. Логический тип
- 8.7. Типы перечислений
- 8.8. Геометрические типы
- 8.9. Типы, описывающие сетевые адреса
- 8.10. Битовые строки
- 8.11. Типы, предназначенные для текстового поиска
- 8.12. Тип UUID
- 8.13. Тип XML
- 8.14. Типы JSON
- 8.15. Массивы
- 8.16. Составные типы
- 8.17. Диапазонные типы
- 8.18. Типы доменов
- 8.19. Идентификаторы объектов
- 8.20. Тип
pg_lsn
- 8.21. Псевдотипы
- 8.2. Денежные типы
- 8.1. Числовые типы
- 9. Функции и операторы
- 9.1. Логические операторы
- 9.2. Функции и операторы сравнения
- 9.3. Математические функции и операторы
- 9.4. Строковые функции и операторы
- 9.5. Функции и операторы двоичных строк
- 9.6. Функции и операторы для работы с битовыми строками
- 9.7. Поиск по шаблону
- 9.8. Функции форматирования данных
- 9.9. Операторы и функции даты/времени
- 9.10. Функции для перечислений
- 9.11. Геометрические функции и операторы
- 9.12. Функции и операторы для работы с сетевыми адресами
- 9.13. Функции и операторы текстового поиска
- 9.14. Функции генерирования UUID
- 9.15. XML-функции
- 9.16. Функции и операторы JSON
- 9.17. Функции для работы с последовательностями
- 9.18. Условные выражения
- 9.19. Функции и операторы для работы с массивами
- 9.20. Диапазонные/мультидиапазонные функции и операторы
- 9.21. Агрегатные функции
- 9.22. Оконные функции
- 9.23. Выражения подзапросов
- 9.24. Сравнение табличных строк и массивов
- 9.25. Функции, возвращающие множества
- 9.26. Системные информационные функции и операторы
- 9.27. Функции для системного администрирования
- 9.28. Триггерные функции
- 9.29. Функции событийных триггеров
- 9.30. Системные информационные функции
- 9.2. Функции и операторы сравнения
- 9.1. Логические операторы
- 10. Преобразование типов
- 11. Индексы
- 11.1. Введение
- 11.2. Типы индексов
- 11.3. Составные индексы
- 11.4. Индексы и предложения
ORDER BY
- 11.5. Объединение нескольких индексов
- 11.6. Уникальные индексы
- 11.7. Индексы по выражениям
- 11.8. Частичные индексы
- 11.9. Сканирование только индекса и покрывающие индексы
- 11.10. Семейства и классы операторов
- 11.11. Индексы и правила сортировки
- 11.12. Контроль использования индексов
- 11.2. Типы индексов
- 11.1. Введение
- 12. Полнотекстовый поиск
- 12.1. Введение
- 12.2. Таблицы и индексы
- 12.3. Управление текстовым поиском
- 12.4. Дополнительные возможности
- 12.5. Анализаторы
- 12.6. Словари
- 12.7. Пример конфигурации
- 12.8. Тестирование и отладка текстового поиска
- 12.9. Типы индексов, предпочитаемые для текстового поиска
- 12.10. Поддержка psql
- 12.11. Ограничения
- 12.2. Таблицы и индексы
- 12.1. Введение
- 13. Управление конкурентным доступом
- 14. Оптимизация производительности
- 15. Параллельный запрос