Если вы запускаете новый сайт, приложение или веб-портал, нужно знать, как установить postgresql. Это одна из наиболее востребованных СУБД, которая обеспечивает защиту хранения информации и удобное управление данными. В этой статье мы рассмотрим, почему бизнес выбирает именно этот ИТ-продукт и как им пользоваться.
PostgreSQL – это система управления реляционными базами данных, которые предназначены для хранения и организации доступа к взаимосвязанным элементам информации.
В качестве примера PostgreSQL для начинающих рассмотрим ее работу на упрощенных бизнес-процессах.
Все сведения о бизнес-процессах, ресурсах и контрагентах компании хранятся в базах данных, представленных в виде таблиц. Так в одну из них сотрудники вносят информацию о клиентах: имя, контакты, платёжные данные и т.д. Любое такое значение расположено в отдельном столбце и называется атрибут. А каждой записи (строке) присваивается уникальный идентификатор – ключ.
Во второй таблице вместо имени клиента указывают только его идентификатор. Он становится общим элементом двух таблиц, благодаря которому между ними устанавливается взаимосвязь. Когда поступает новый запрос на обработку заказа, система использует ключ для поиска актуальных сведений об оплате, адресе и т.д. Затем актуальная структурированная информация поступает на склад, где персонал компании собирает заказ и отправляет его покупателю.
Таким образом, происходит разделение данных. В реляционных базах данных доступ к информации ограничен выбором строк, соответствующих конкретным критериям. Внесенные в процессе детальности изменения не влияют на содержание исходных таблиц, то есть данные не теряются, а структура их хранения не нарушается.
На основе использования реляционных БД создана модель клиент-сервер. Приложения разделены на множество задач и размещены на разных платформах. Соответственно, программа для предоставления данных установлена на компьютере пользователя, который называется клиент, а сами данные находятся на сервере.
В такой модели возможно одновременное выполнение нескольких процессов, поскольку сервер может обслуживать большое количество пользовательских компьютеров. С клиента запросы направляются серверу, откуда обратно поступают результаты этих запросов. Так происходит совместный транзакционный обмен, при этом сервер регулирует исходящую от клиента активность.
Существует множество СУБД, разработанных на языке SQL. В финансовом секторе, производстве, розничной торговле и логистике обычно предпочитают использовать PostgreSQL, ориентируясь на ключевые преимущества этого продукта.
Установка PostgreSQL на Windows – это стандартный процесс, предполагающий запуск установочного файла, который можно скачать с официального сайта разработчика. Однако стоит обратить внимание на некоторые нюансы.
Так по умолчанию устанавливается несколько компонентов. Лучше оставить их все, если нет необходимости от них отказываться.
По умолчанию назначается имя суперпользователя postgres. Для него нужно будет задать пароль (root). Кроме того, необходимо назначить порт, так как взаимодействие между клиентом и сервером осуществляется через Интернет. Обычно используется порт 5432, который указывается при первой установке. Если он уже занят, подойдет порт 5433.
После завершения установки нажимаем «ОК» и можем начинать работу.
В коммерческих организациях используют различные версии операционных систем, поэтому актуальна установка 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 используются не SQL запросы, а специальные команды. Все они обязательно следуют за символом «\» (слэш). Для начала разберемся, как узнать версию PostgreSQL.
Для этого нужно ввести команду: \postgres --version
Команда \ l
выдаёт список всех баз данных на сервер. Выглядит это так:
В этом примере новые базы еще не созданы. А те, что есть – пустые шаблоны.
Команда \c
или \connect
выполняет подключение к базе данных.
Когда мы находимся внутри базы, можно посмотреть полный перечень ее таблиц с помощью команды \dt
.
Команда \dg
отображает перечень пользователей. Разницы между пользователями и ролями в данном случае практически нет, а роль суперпользователя задана по умолчанию.
Для безопасности следует создавать разные роли, у которых меньше привилегий. Такой подход минимизирует ошибки вследствие человеческого фактора.
Рассмотрим основные команды для администрирования. Отличительной их особенностью считается написание заглавными буквами. Это не обязательное требование, но так проще понять, где ключевые слова 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 – популярный продукт для управления базами данных, совместимой с основными операционными системами. Но для работы в нем необходимы профильные знания. Например, установка, настройка и управление базами данных выполняется с помощью команд, поэтому важно понять их логику и последовательность.