Как установить PostgreSQL

Если вы запускаете новый сайт, приложение или веб-портал, нужно знать, как установить postgresql. Это одна из наиболее востребованных СУБД, которая обеспечивает защиту хранения информации и удобное управление данными. В этой статье мы рассмотрим, почему бизнес выбирает именно этот ИТ-продукт и как им пользоваться.

PostgreSQL: как создать базу данных

PostgreSQL – это система управления реляционными базами данных, которые предназначены для хранения и организации доступа к взаимосвязанным элементам информации.

В качестве примера PostgreSQL для начинающих рассмотрим ее работу на упрощенных бизнес-процессах.

Все сведения о бизнес-процессах, ресурсах и контрагентах компании хранятся в базах данных, представленных в виде таблиц. Так в одну из них сотрудники вносят информацию о клиентах: имя, контакты, платёжные данные и т.д. Любое такое значение расположено в отдельном столбце и называется атрибут. А каждой записи (строке) присваивается уникальный идентификатор – ключ.

Во второй таблице вместо имени клиента указывают только его идентификатор. Он становится общим элементом двух таблиц, благодаря которому между ними устанавливается взаимосвязь. Когда поступает новый запрос на обработку заказа, система использует ключ для поиска актуальных сведений об оплате, адресе и т.д. Затем актуальная структурированная информация поступает на склад, где персонал компании собирает заказ и отправляет его покупателю.

Таким образом, происходит разделение данных. В реляционных базах данных доступ к информации ограничен выбором строк, соответствующих конкретным критериям. Внесенные в процессе детальности изменения не влияют на содержание исходных таблиц, то есть данные не теряются, а структура их хранения не нарушается.

Что такое модель клиент-сервер

На основе использования реляционных БД создана модель клиент-сервер. Приложения разделены на множество задач и размещены на разных платформах. Соответственно, программа для предоставления данных установлена на компьютере пользователя, который называется клиент, а сами данные находятся на сервере.

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

Преимущества PostgreSQL

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

  • Совместимость с популярными операционными системами. Например, актуальна установка PostgreSQL debian или других дистрибутивов Linux, Windows, Mac.
  • Доступ к мощным функциям, таким как вложенные транзакции, многовариантное управление параллелизмом и другим.
  • Соответствие строгим требованиям, в том числе поддержка Юникода, международных кодировок, многобайтовой кодировки символов.
  • Наличие лицензии на ПО с открытым кодом, что обеспечивает гибкость в процессе разработки.
  • Масштабируемость объема данных и количества пользователей.
  • Разнообразные типы индексирования.
  • Совместимость с внушительным числом языков программирования и протоколов.
  • Развитая экосистема поддержки.
  • Доступ к данным JSON.
  • Возможности расширения, в том числе за счет модификации таблиц.
  • Надежность, безопасность и расширяемость.
  • Поддержка текста, изображения, звука и видео.

Установка на Windows

Установка PostgreSQL на Windows – это стандартный процесс, предполагающий запуск установочного файла, который можно скачать с официального сайта разработчика. Однако стоит обратить внимание на некоторые нюансы.

Так по умолчанию устанавливается несколько компонентов. Лучше оставить их все, если нет необходимости от них отказываться.

По умолчанию назначается имя суперпользователя postgres. Для него нужно будет задать пароль (root). Кроме того, необходимо назначить порт, так как взаимодействие между клиентом и сервером осуществляется через Интернет. Обычно используется порт 5432, который указывается при первой установке. Если он уже занят, подойдет порт 5433.

После завершения установки нажимаем «ОК» и можем начинать работу.

PostgreSQL: установка и настройка на Linux

В коммерческих организациях используют различные версии операционных систем, поэтому актуальна установка postgresql centos 7, а также на другие версии Linux. Мы рассмотрим процесс установки PostgreSQL ubuntu 20.04.

Нам потребуется сервер с конфигурацией, соответствующей первоначальной настройке. Сервер будет иметь пользователя без прав root с разрешениями sudo и базовый брандмауэр.

В нашем случае в репозиториях уже содержатся пакеты Postgres. Если их нет, введите следующие команды:

# sudo apt update

# sudo apt install postgresql postgresql-contrib

Теперь запускаем и проверяем сервис:

# sudo systemctl start postgresql.service

# sudo systemctl status postgresql.service

В работе с PostgreSQL используется термин «Роль». Это почти то же самое, что аккаунт в Ubuntu, поэтому через него можно зайти в СУБД.

Этот аккаунт уже имеет права администратора. Добавим роль с функцией суперпользователя с помощью postgresql linux команды:

# postgres@postgresdoc:~$ createuser --interactive

Переключаться между аккаунтами нам не нужно, поэтому вводим следующую команду:

# sudo -u postgres createuser --interactive

Далее выполняется настройка PostgreSQL linux. Указываем имя пользователя и обозначаем права: 

Enter name of role to add: tester

Shall the new role be a superuser? (y/n) y

Теперь нужно создать базу данных. В примере ей присвоено имя tester.

# postgres@postgresdoc:~$ createdb tester

Затем нужно перейти в командную строку PostgreSQL с новой ролью:

# sudo adduser tester

Добавляем аккаунт tester, входим в него:

# sudo -i -u tester # psql

Создаем таблицу: 

CREATE TABLE table_name (

column_name1 col_type (field_length) column_constraints,

column_name2 col_type (field_length),

column_name3 col_type (field_length)

);

В astra linux PostgreSQL установка происходит по тому же принципу.

До того, как запустить postgresql, нужно установить оболочку (shell), с помощью которой происходит управление базой данных. Для этого вводим команду:

# psql -U postgres

Теперь вводим пароль суперпользователя, который задали в процессе установки. PostgreSQL готов к работе. а если он не запускается, нужно ввести дополнительную команду:

# sudo systemctl start postgres

Дополнительно можно подключить PostgreSQL к django – гибкому фреймворку для создания приложений Python. Для этого открываем файл settings.py. Заданные по умолчанию настройки нужно подкорректировать так:

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.postgresql_psycopg2',

'NAME': 'dbname',

'USER': 'username',

'PASSWORD': 'userpass',

'HOST': '127.0.0.1',

'PORT': '5432'

}

}

Устанавливаем модуль psycopg2 с помощью команды:

# pip install psycopg2-binary

Для Windows: # pip install psycopg2

Наконец, выполняем миграцию:

# python manage.py makemigrations

# python manage.py migrate

Мета-команды PostgreSQL

В PostgreSQL используются не SQL запросы, а специальные команды. Все они обязательно следуют за символом «\» (слэш). Для начала разберемся, как узнать версию PostgreSQL.

Для этого нужно ввести команду: \postgres --version

Команда \ l выдаёт список всех баз данных на сервер. Выглядит это так:

В этом примере новые базы еще не созданы. А те, что есть – пустые шаблоны.

Команда \c или \connect выполняет подключение к базе данных.

Когда мы находимся внутри базы, можно посмотреть полный перечень ее таблиц с помощью команды \dt.

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

Для безопасности следует создавать разные роли, у которых меньше привилегий. Такой подход минимизирует ошибки вследствие человеческого фактора.

Команды для работы с PostgreSQL

Рассмотрим основные команды для администрирования. Отличительной их особенностью считается написание заглавными буквами. Это не обязательное требование, но так проще понять, где ключевые слова SQL, а где части оператора.

В отличие от мета-команд нужно обязательно в конце команды ставить символ «;» (точка с запятой).

CREATE DATABASE – основная команда для создания базы данных. Чтобы в ней работать, нужно подключиться с помощью мета-команды \c с указанием названия через пробел.

CREATE TABLE – создание таблицы. В круглых скобках указан список столбцов и их типы данных, где INT обозначает целое число, а TEXT строку.

INSERT INTO добавляет сведения в таблицу. Пример:

В данном случае products — это название таблицы.

(Id, name, quantity) — перечень столбцов. Достаточно выборочно указать их, остальные добавятся автоматически.

VALUES (1, 'first product', 20) – фактические данные, соответствующие столбцам.

Команда SELECT выполняет выборку данных. За ней нужно указать список интересующих вас столбцов. В той же строке указывается команда FROM для обозначения того, из какой таблицы брать сведения. Выглядит это так:

SELECT id, name, quantity FROM products;

Если нужно выбрать все столбцы, перечислять их не нужно, вместо этого можно поставить символ * (звёздочка).

Команда UPDATE обновляет данные. В той же строке указываем SET и названия столбцов, знак «равно» и актуальное значение, WHERE и условие (например, столбец id, и его строку 1). Выглядит вся строка так:

UPDATE products SET name='new name', quantity=49 WHERE id=1;

Команда DELETE удаляет конкретные данные:

DELETE FROM products WHERE id=1;

Команда DROP TABLE удаляет таблицу целиком.

Заключение

СУБД PostgreSQL – популярный продукт для управления базами данных, совместимой с основными операционными системами. Но для работы в нем необходимы профильные знания. Например, установка, настройка и управление базами данных выполняется с помощью команд, поэтому важно понять их логику и последовательность.

Всё ещё остались вопросы?