Что такое PostgreSQL
PostgreSQL - система управления реляционными базами данных, «в фундаменте» которой лежит язык запросов SQL. Соблюдение общепринятых стандартов и возможность создавать высокопроизводительные системы — причина популярности PostgreSQL сегодня.
Перед установкой
Для установки PostgreSQL у вас должны быть:
- Сервер с минимум 1 ядром ЦП, 1 ГБ оперативной памяти и 10 ГБ дискового пространства. Реальные требования могут немного отличаться и зависят от потребностей и оптимизации вашего приложения;
- Актуальная операционная система (Centos 7 в качестве примера в этой статье);
- Возможность авторизоваться от имени административной учетной записи.
Процесс настройки
Чтобы установить 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 и работать с данными «внутри» базы данных.