10.11.2022

Установка PostgreSQL на Centos 7

Что такое PostgreSQL

PostgreSQL - система управления реляционными базами данных, «в фундаменте» которой лежит язык запросов SQL. Соблюдение общепринятых стандартов и возможность создавать высокопроизводительные системы — причина популярности PostgreSQL сегодня.

Перед установкой

Для установки PostgreSQL у вас должны быть:

Процесс настройки

Чтобы установить PostgreSQL на свой сервер, выполните следующие шаги:

Обновите текущее системное программное обеспечение:

yum -y update

 

Перезагрузите сервер, чтобы гарантированно использовать обновленные программные пакеты;

 

Добавьте исключение в секцию «base» в конфигурационный файл /etc/yum.repos.d/CentOS-Base.repo, иначе, наиболее вероятно, будет установлена устаревшая версия PostgreSQL:

 

Добавьте в систему репозиторий PostgreSQL и уточните последнюю версию:

yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm; yum list -y postgre*-server*

 

Как показано на предыдущем скриншоте, последняя версия PostgreSQL — 15. Давайте установим ее:

yum -y install postgresql15-server

ПРИМЕЧАНИЕ: Если в процессе установки возникнет ошибка невозможности разрешения зависимостей, сначала установите репозиторий epel, а затем снова попытайтесь установить PostgreSQL. Команда установки репозитория:

yum -y install epel-release

Инициализируйте новый кластер баз данных:

/usr/pgsql-15/bin/postgresql-15-setup initdb

 

Активируйте запуск сервиса при загрузке системы и следом запустите службу:

systemctl enable postgresql-15; service postgresql-15 start

 

Проверьте ее статус:

service postgresql status

 

Базовые операции с данными

Для создания базы данных необходимо использовать встроенную учетную запись администратора:

su postgres

psql postgres

 

Создайте роль пользователя и тестовую базу данных:

CREATE ROLE  <имя_пользователя> LOGIN PASSWORD '<пароль>';

CREATE DATABASE <имя_базы_данных> WITH OWNER = <имя_пользователя>;

 

Авторизуйтесь в PostgreSQL как только что созданный пользователь:

psql -h <хост> -d <имя_базы_данных> -U <имя_пользователя> -p <порт_PostgreSQL>

 

Теперь попробуйте создать таблицу в этой новой базе данных:

CREATE TABLE testtable (
item_num integer NOT NULL,
item_name character varying(50) NOT NULL,
item_detail character varying(50) DEFAULT NULL,
PRIMARY KEY (item_num)

);

Немного расшифрую - мы создали таблицу с тремя столбцами: item_num (численные значения), item_name (текстовое поле) и item_detail (текст, может быть пустым).

 

Добавление данных в таблицу:

INSERT INTO testtable (item_num, item_name, item_detail)
VALUES('1','Корабль','Моделька военного корабля');

INSERT INTO testtable (item_num, item_name)
VALUES('2','Кукла');

INSERT INTO testtable (item_num, item_name, item_detail)
VALUES('3','Кухня','Игрушечная кухня');

 

Проверим результат:

SELECT <что_ищем> from <имя_таблицы>

 

Вместо заключения

В этом материале я показал, как установить PostgreSQL на Centos 7 и работать с данными «внутри» базы данных.