Ко всем новостям

База данных PostgreSQL: что это такое

Технологии
19.04.2022
  1. Установка PostgreSQL
  2. Настройка PostgreSQL
  3. Управление пользователями
  4. Работа с базами данных в PostgreSQL
  5. Подключение к базе данных
  6. PostgreSQL и облачные платформы

PostgreSQL — это одна из самых продвинутых систем управления базами данных (СУБД). Ее относят к классу объектно-реляционных систем. Это значит, что PostgreSQL, в отличие от, например, другой популярной СУБД MySQL, поддерживает пользовательские объекты и их поведение. 

Что важно знать о СУБД Postgres:

·      поддерживает ссылочную и транзакционную целостность сохраненной информации;

·      имеет множество дополнительных функций, которые сохраняют только корректные data-файлы;

·      обладает расширенной емкостью за счет внутренней структуры;

·      соответствует стандарту ANSI/ISO SQL:2008. 

Postgres — гибкая и надежная СУБД, которая может работать со сложными структурами и типами данных: многомерными массивами, json, uuid, битовыми строками, сетевыми адресами. 

В PostgreSQL можно пользоваться встроенными типами данных — битовыми строками, двоичными данными, интервалом времени — или создавать свои:

·      базовые,

·      составные,

·      перечисляемые данные,

·      диапазон.

Размер базы, как и количество строк и индексов в таблице, не ограничены. Максимальный размер таблицы может составлять до 32 TB. 

4102888_980.jpg

Установка PostgreSQL

Установочные файлы Postgres можно найти на официальном сайте продукта. Там же доступна сопроводительная информация о версиях и правках, а также различные руководства. 

Установить PostgreSQL в Ubuntu можно с помощью команды apt: программа уже включена в репозиторий, поэтому для инсталляции достаточно заранее проверить наличие обновлений системы и выполнить команду. Помимо основных файлов установится дополнительный пакет с полезными функциями и утилитами. 

При установке можно воспользоваться возможностями менеджеров пакетов. Например, для MAC OSподойдет сервис Homebrew или установочный комплект приложений Postgresapp. 

Кроме того, нужно организовать место для размещения серверной части. Иногда для этих целей используют хостинги. Если приложения размещаются на отдельном от Postgres сервере, важно разрешить подключения извне в настройках.

Настройка PostgreSQL

Базовые настройки хранятся в файлах:

·       postgresql.conf с настройками самой базы;

·       pg_hba.conf с настройками доступа.

Редактировать файлы можно в любом текстовом редакторе, а после изменения перезапустить систему.

Встроенная утилита psql открывает доступ к терминалу для работы СУБД, через который можно в том числе уведомлять о необходимости перечитать параметры настроек. Через терминал можно вызвать службу поддержки или справочную информацию и вообще полноценно работать с СУБД, без дополнительных сервисов. 

На какие настройки памяти важно обратить внимание:

·      максимальное количество подключенных пользователей;

·      объем буфера, в который загружаются страницы для считывания и записи;

·      объем памяти для каждого подключения, которое может регулироваться в процессе работы.

Для устранения фрагментации памяти и высокого system time можно изменить параметры минимального количества свободной памяти и свопа. 

Управление пользователями

PostgreSQL database распределяет доступы не по пользователям, а по ролям. Каждая роль наделяется правами, может владеть в базе своими объектами, разграничивать другие права. Создавать новые роли можно в терминале psql или в рабочей консоли через оператора SQL. Функция «создание пользователей» доступна в режиме суперпользователя. 

По тому же принципу можно запросить список ролей, изменить пароли или удалить пользователей. Информация обо всех подобных операциях сохраняется в файлах psql_history: для соблюдения требований безопасности эти файлы лучше удалять, особенно если они связаны с заменой паролей. 

Работа с базами данных в PostgreSQL

В Postgres используется понятие кластер базы данных — набор баз, управляемых одним экземпляром работающего сервера. Создавать, просматривать, удалять эти базы можно через консоль или через терминал.

Перед созданием database нужно проверить настройки времени и даты в ОС, так как они будут отображаться в базе. Путь к базе задан по умолчанию. Если под нее выделен отдельный диск, путь задается вручную.

Резервные копии создаются сложной командой, в которой прописываются:

·      сервер, на котором хранится БД;

·      имя пользователя, который совершает действие;

·      формат, в котором содержимое базы сохранится на резервном носителе;

·      путь сохранения резервной копии;

·      название БД, с которой будет сделана копия.

Все те же параметры указываются в команде восстановления.

Подключение к базе данных

При подключении к database через терминал нужно учитывать параметры входа. Если есть несоответствия в именах базы, пользователя и роли, в командной строке нужно будет указать соответствующий параметр. 

Взаимодействовать с базой можно также через оператора SQL или через интуитивно понятное приложение pgAdmin. Подойдут также любые другие сервисы, которые поддерживают ODBC и JDBC— это удобно, если разрабатывается приложение с соответствующим драйвером. 

cyber-security-company-employee-developing-blockchain-based-database-processing-system-cybernetic-officer-coding-machine-learning-software-protect-mainframe-encrypted-files.jpg

PostgreSQL и облачные платформы

При конфигурации сервера для Постгри SQL обычно используют виртуализацию. Если система устанавливается локально, для нее потребуется отдельный сервер. 

Postgres сохраняет данные даже при аварийных отключениях виртуальных серверов. После включения система без проблем загружается и продолжает работу с последнего checkpoint. Это особенно важно, когда речь идет о критических для бизнеса приложениях — именно поэтому PostgreSQL часто становится основой для решений уровня enterprise. Эту чаще всего СУБД выбирают для обработки сложных запросов и поддержки массивных баз данных.

На базе Platform V, облачной платформы для разработки бизнес-приложений, доступно решение Platform V Pangolin. Это продукт, в основе которого лежит версия PostgreSQL, содержащая собственные разработки и инновации Сбера. В отличие от open source версии СУБД, в Platform VPangolin усилены критические для бизнеса функциональные особенности:

·      безопасность;

·      доступность;

·      надёжность;

·      производительность.

Platform V Pangolin подходит для компаний и корпораций, в которых

·      необходимо работать с большим объемом структурированными данных;

·      приняты высокие стандарты безопасности и надежности;

·      создаются приложения с высокой пропускной способностью и доступом к базе.

Platform V Pangolin обеспечивает надежную со сложными структурами данных, скорость и отказоустойчивость — качества, которые сделали Postgres одной из наиболее популярных СУБД в мире. Сегодня Platform V Pangolin используется в 188 системах Сбера. Это полностью независимая база данных, которая стала для банка полноценной заменой решениям иностранных вендоров.