PostgreSQL: различия между версиями
Перейти к навигации
Перейти к поиску
Admin (обсуждение | вклад) (→Ссылки) |
Admin (обсуждение | вклад) |
||
| Строка 9: | Строка 9: | ||
Последний стабильный релиз PostgreSQL 18.1 | Последний стабильный релиз PostgreSQL 18.1 | ||
| − | + | == Компоненты PostgreSQL == | |
* Основной процесс сервера ('''Postmaster''') - Главный управляющий процесс, который запускает и координирует все остальные процессы PostgreSQL. Он отвечает за управление соединениями, восстановление после сбоев и поддержание общей работоспособности системы. | * Основной процесс сервера ('''Postmaster''') - Главный управляющий процесс, который запускает и координирует все остальные процессы PostgreSQL. Он отвечает за управление соединениями, восстановление после сбоев и поддержание общей работоспособности системы. | ||
| Строка 25: | Строка 25: | ||
Эти компоненты совместно обеспечивают надежное хранение, извлечение и обработку данных в PostgreSQL | Эти компоненты совместно обеспечивают надежное хранение, извлечение и обработку данных в PostgreSQL | ||
| + | |||
| + | == Установка на Rocky Linux == | ||
| + | |||
| + | # отключите пакет postgresql в штатном репозитории | ||
| + | # установите пакет официального репозитория PostgreSQL | ||
| + | # установите из репозитория PostreSQL | ||
| + | |||
| + | <pre> | ||
| + | # повышение привилегий до root | ||
| + | sudo -s | ||
| + | |||
| + | # установка пакета официального репозитория | ||
| + | dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-10-x86_64/pgdg-redhat-repo-latest.noarch.rpm | ||
| + | |||
| + | dnf repolist | ||
| + | #--------------------------------------------------------------------------------------------------- | ||
| + | ... | ||
| + | pgdg-common PostgreSQL common RPMs for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg13 PostgreSQL 13 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg14 PostgreSQL 14 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg15 PostgreSQL 15 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg16 PostgreSQL 16 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg17 PostgreSQL 17 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | pgdg18 PostgreSQL 18 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 | ||
| + | ... | ||
| + | #--------------------------------------------------------------------------------------------------- | ||
| + | |||
| + | dnf install postgresql18-server | ||
| + | |||
| + | # инициализация кластера базы данных (здесь слово кластер означает не то что обычно) | ||
| + | /usr/pgsql-18/bin/postgresql-18-setup initdb | ||
| + | |||
| + | systemctl enable postgresql-18 | ||
| + | systemctl start postgresql-18 | ||
| + | systemctl status postgresql-18 | ||
| + | |||
| + | </pre> | ||
= Postgres Pro Enterprise = | = Postgres Pro Enterprise = | ||
Версия 23:48, 5 декабря 2025
Ссылки
PostgreSQL Community
Последний стабильный релиз PostgreSQL 18.1
Компоненты PostgreSQL
- Основной процесс сервера (Postmaster) - Главный управляющий процесс, который запускает и координирует все остальные процессы PostgreSQL. Он отвечает за управление соединениями, восстановление после сбоев и поддержание общей работоспособности системы.
- Фоновые процессы (Background Processes) - Различные процессы, работающие в фоновом режиме для выполнения основных задач, таких как:
- Запись WAL (Write-Ahead Log) Writer - отвечает за запись из буферов памяти WAL (WAL Buffers) в файлы транзакционных логов (сегменты WAL) для обеспечения целостности данных.
- Очистка Autovacuum Launcher/Worker - Автоматически запускает процессы VACUUM для очистки "мертвых" строк (удаленных или обновленных записей) и сбора статистики для оптимизатора запросов.
- Контрольные точки (Checkpointer) - Периодически сбрасывает все измененные страницы данных из общей памяти на диск для обеспечения согласованности и минимизации времени восстановления.
- Фоновые рабочие процессы (Background Workers) - Введены в более поздних версиях, используются для выполнения параллельных операций, например, при параллельном сканировании, параллельных индексах GIN и асинхронном I/O.
- Бэкенд-процессы Backend Processes - Отдельный процесс, который создается postmaster'ом для обработки каждого клиентского соединения и выполнения запросов. Каждый процесс управляет синтаксическим анализом, планированием и выполнением SQL-запросов.
- Разделяемая память (Shared Memory) - Область памяти, доступная для всех процессов PostgreSQL. Ключевые ее части:
- Разделяемые буферы (Shared Buffers) - Основной кэш, где хранятся блоки данных, считанные с диска, для ускорения повторного доступа.
- Буферы WAL (WAL Buffers) - Временное хранилище для записей WAL перед их записью на диск.
- Кэш системных каталогов - Кэширование информации о структуре базы данных.
- Физическое хранилище данных (Data Directory/Storage) - Каталог на диске, где хранятся все физические файлы базы данных, включая файлы данных (heap files), файлы индексов, файлы WAL и системные каталоги (системную метаинформацию).
Эти компоненты совместно обеспечивают надежное хранение, извлечение и обработку данных в PostgreSQL
Установка на Rocky Linux
- отключите пакет postgresql в штатном репозитории
- установите пакет официального репозитория PostgreSQL
- установите из репозитория PostreSQL
# повышение привилегий до root sudo -s # установка пакета официального репозитория dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-10-x86_64/pgdg-redhat-repo-latest.noarch.rpm dnf repolist #--------------------------------------------------------------------------------------------------- ... pgdg-common PostgreSQL common RPMs for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg13 PostgreSQL 13 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg14 PostgreSQL 14 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg15 PostgreSQL 15 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg16 PostgreSQL 16 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg17 PostgreSQL 17 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 pgdg18 PostgreSQL 18 for RHEL / Rocky Linux / AlmaLinux 10 - x86_64 ... #--------------------------------------------------------------------------------------------------- dnf install postgresql18-server # инициализация кластера базы данных (здесь слово кластер означает не то что обычно) /usr/pgsql-18/bin/postgresql-18-setup initdb systemctl enable postgresql-18 systemctl start postgresql-18 systemctl status postgresql-18
Postgres Pro Enterprise
Основные модули и функции, уникальные для редакции Postgres Pro Enterprise
- CFS (Compressed File System) - встроенный механизм постраничного сжатия данных для экономии дискового пространства и снижения операций ввода-вывода
- 64-разрядный счетчик транзакций - устраняет проблему переполнения 32-разрядного счетчика транзакций (wraparound), присущую стандартному PostgreSQL
- BiHA (Built-in High Availability) - встроенный высокодоступный отказоустойчивый кластер (multi-master) с быстрым временем переключения (failover)
- AQO (Adaptive Query Optimizer) - расширение для адаптивной оптимизации планов запросов на основе машинного обучения
- Усовершенствованный диагностический профайлер - инструмент для более глубокого анализа и приоритизации ресурсов
- Автономные транзакции - поддержка автономных транзакций для определенных сценариев
- Улучшенное секционирование таблиц - оптимизация работы с большим количеством партиций (более 10 000)
- Уменьшенный размер B-tree индексов - оптимизация хранения дублирующихся ключей
- Proxima - пуллер соединений и прокси-сервер, оптимизированный для работы с кластером
- Автоматическое восстановление страниц - механизм автоматического исправления поврежденных страниц данных при репликации
- pgpro_pwr (Postgres Pro Workload Reporter) - модуль для формирования отчетов о производительности и загрузке системы, аналогичный Oracle AWR
Лицензирование Postgres Pro Enterprise осуществляется за ядра процессора, все эти функции и модули включены в стоимость лицензии