6.5.4 PostgreSQL: введение и установка
PostgreSQL – это мощная, открытая объектно-реляционная система управления базами данных (СУБД), предназначенная для хранения, обработки и управления большими объемами данных. Разработанный с акцентом на расширяемость и совместимость со стандартом SQL, PostgreSQL поддерживает как реляционные, так и некоторые NoSQL-функции, такие как хранение JSON-данных и ключ-значение. Ее основное назначение – предоставлять безопасное и надежное решение для хранения данных, которое позволяет пользователям эффективно управлять сложными транзакциями и выполнять анализ данных в режиме реального времени.
Основные плюсы и минусы:
- Высокая совместимость с SQL. PostgreSQL поддерживает практически все функции стандартного SQL, что делает его удобным для разработки сложных запросов и транзакций.
- Надежность и соответствие ACID-стандартам. Поддержка ACID (атомарность, согласованность, изоляция, долговечность) делает PostgreSQL устойчивым и предсказуемым при обработке критичных данных.
- Расширяемость. PostgreSQL позволяет пользователям добавлять свои функции, что полезно для специфических задач и настройки под уникальные требования.
- Поддержка JSON и NoSQL. Помимо реляционных данных, PostgreSQL также поддерживает JSON-данные, что делает его удобным для гибридных приложений, где требуются как реляционные, так и документно-ориентированные данные.
- Сложность настройки. PostgreSQL иногда требует более сложной настройки и управления по сравнению с другими СУБД, что может потребовать опыта в администрировании.
- Ресурсоемкость. Из-за широкого набора возможностей и совместимости PostgreSQL может потреблять больше ресурсов, чем другие СУБД, особенно при обработке крупных объемов данных.
Использование PostgreSQL оправдано, когда проект нуждается в стабильной, масштабируемой базе данных с расширенными возможностями работы с SQL и гибкостью для разнообразных данных.
Установка на Linux
В этом примере мы будем устанавливать PostgreSQL на Ubuntu 22.04. Данный процесс состоит из стандартных шагов: обновление системы, добавление официального репозитория PostgreSQL, установка и настройка базы данных. Мы также рассмотрим возможные нюансы, с которыми можно столкнуться.
1. Обновите систему. Перед установкой PostgreSQL убедитесь, что пакеты обновлены до актуальной версии. Это помогает избежать ошибок совместимости:
sudo apt update && sudo apt upgrade -y
2. Добавьте официальный репозиторий PostgreSQL. Ubuntu 22.04 может не включать последнюю версию PostgreSQL в своих стандартных репозиториях, поэтому имеет смысл добавить официальный репозиторий PostgreSQL:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
3. Добавьте ключ для репозитория. Без добавления ключа системы безопасности установка пакетов может завершиться ошибкой:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
4. Теперь обновите список пакетов, чтобы включить репозиторий PostgreSQL:
sudo apt update
5. Установите PostgreSQL, указав нужную версию (замените 14 на другую версию, если хотите установить её):
sudo apt install postgresql-14 postgresql-contrib
Учтите: Пакет postgresql-contrib
устанавливает дополнительные расширения для PostgreSQL, такие как pgcrypto
для шифрования и tablefunc
для продвинутой работы с таблицами.
6. Проверьте статус службы:
После установки служба PostgreSQL должна запуститься автоматически. Проверьте её статус:
sudo systemctl status postgresql
Если служба не запустилась, попробуйте запустить её командой:
sudo systemctl start postgresql
7. PostgreSQL по умолчанию работает с пользователем postgres
. Чтобы переключиться на этого пользователя и запустить клиент psql
, используйте:
sudo -i -u postgres
psql
8. Внутри клиентского интерфейса psql
вы можете создавать новые базы данных и пользователей для удобного управления. Пример создания пользователя и базы данных:
CREATE USER exampleuser WITH PASSWORD 'examplepassword';
CREATE DATABASE exampledb OWNER exampleuser;
9. По умолчанию PostgreSQL принимает только локальные соединения. Отредактируйте конфигурационный файл postgresql.conf, чтобы разрешить внешние подключения:
sudo nano /etc/postgresql/14/main/postgresql.conf
В строке listen_addresses
замените localhost
на *
, чтобы PostgreSQL принимал запросы с любых IP:
listen_addresses = '*'
Дополнительно: *
разрешит всем доступным IP-интерфейсам (IPv4 и IPv6) принимать запросы. Чтобы прослушивать только IPv4 установите 0.0.0.0
, тогда как ::
разрешает прослушивать все адреса IPv6.
Затем откройте файл pg_hba.conf
, чтобы указать допустимые IP-адреса для доступа:
sudo nano /etc/postgresql/14/main/pg_hba.conf
Добавьте следующую строку для разрешения внешних подключений по паролю:
host all all 0.0.0.0/0 md5
10. Чтобы применить изменения, перезапустите PostgreSQL:
sudo systemctl restart postgresql
На этом установка и базовая настройка PostgreSQL на Ubuntu 22.04 завершены. У Вас имеется рабочая СУБД и созданной базой и пользователем и разрешенными извне подключениями (с паролем).
Совет: детальнее про удаленную работу с БД Вы можете ознакомиться в этой статье.
Установка на Windows
1. Скачайте установщик – перейдите на официальный сайт PostgreSQL и выберите последний установщик для Windows. Обычно это .exe
файл.
2. Дважды щелкните по загруженному файлу, чтобы начать процесс установки. Программа-установщик откроет мастер установки.
3. По умолчанию PostgreSQL установится в C:\Program Files\PostgreSQL\
с папкой для версии. При необходимости можно изменить путь, но мы рекомендуем без необходимости придерживаться стандартного пути.
4. Установщик предложит выбрать компоненты для установки:
- PostgreSQL Server – обязателен для работы.
- pgAdmin – графический интерфейс для управления и работы с БД.
- Command Line Tools – полезны для работы в командной строке.
- Stack Builder – инструмент для установки дополнительных плагинов и расширений.
Обычно можно без раздумий выбрать все компоненты.
5. Настройте пароль суперпользователя postgres
Установщик запросит пароль для учетной записи postgres
. Запомните его — это главный аккаунт с доступом ко всем возможностям базы данных.
6. По умолчанию PostgreSQL использует порт 5432
. Если этот порт уже занят, выберите другой свободный порт.
7. Установщик предложит выбрать параметры локализации (локаль и регион), влияющие на сортировку и сравнение данных в БД. Обычно можно оставить значение по умолчанию.
8. После проверки параметров нажмите Next для запуска установки. Дождитесь завершения установки и нажмите Finish.
Запуск и подключение через pgAdmin
После установки PostgreSQL автоматически запустится как служба Windows, и вы сможете управлять ею через pgAdmin, который также будет установлен на вашем компьютере.
Запустите pgAdmin, добавьте сервер PostgreSQL, используя localhost
и указанный ранее порт (5432
по умолчанию), и введите пароль суперпользователя postgres
.
Если все прошло успешно, с этого момента PostgreSQL установлен и готов к работе.