Как установить PostgreSQL 15 на Rocky Linux 9
Это руководство существует для этих версий ОС
- Rocky Linux 9
- Rocky Linux 8.4
На этой странице
- Предпосылки
- Настройка репозитория
- Установка PostgreSQL 15
- Настройка аутентификации пользователя и шифрования пароля
- Настройка пароля для пользователя PostgreSQL
- Создание новой базы данных и пользователя в PostgreSQL
- Создать таблицу и вставить данные
- Получение данных и обновление данных
- Очистить окружающую среду
- Заключение
PostgreSQL — это бесплатная система управления базами данных с открытым исходным кодом, ориентированная на расширяемость и соответствие SQL. PostgreSQL — это передовая СУБД корпоративного класса (система управления реляционными базами данных), которая поддерживает запросы SQL (реляционные) и JSON (нереляционные).
Это очень стабильная система управления базами данных, за которой более 20 лет. разработки сообществом открытого исходного кода и имеет прочную репутацию среди разработчиков и системных администраторов благодаря своей надежности, гибкости, надежности функций и производительности.
PostgreSQL используется в качестве основной базы данных для веб-приложений, мобильных приложений, и аналитические приложения. Некоторые известные пользователи PostgreSQL по всему миру: Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW и т. д.
Это руководство поможет вам установить последнюю версию PostgreSQL 15 на сервер Rocky Linux 9. Это также проведет вас через базовое использование PostgreSQL для создания пользователей/ролей, управления базами данных, создания таблиц, вставки и извлечения данных.
Предпосылки
Для завершения этого руководства вам потребуются следующие требования:
- Сервер Rocky Linux 9. В этом примере будет использоваться Rocky Linux с именем хоста postgresql-rocky.
- Пользователь без полномочий root с правами администратора sudo/root.
- SELinux, работающий в разрешительном режиме.
Давайте перейдем к установке PostgreSQL 15.
Настройка репозитория
Во время этой проводки PostgreSQL 15 недоступен в репозитории Rocky Linux. Итак, для установки PostgreSQL 15 необходимо использовать официальный репозиторий PostgreSQL.
Первым шагом будет установка и добавление репозиториев PostgreSQL на ваш сервер Rocky Linux 9.
Запустите приведенную ниже команду, чтобы добавить официальный репозиторий PostgreSQL в вашу систему. Этот репозиторий можно использовать для нескольких версий дистрибутива на основе RHEL 9.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
В процессе вы получите следующий вывод:
Теперь проверьте список доступных репозиториев с помощью команды dnf ниже.
sudo dnf repolist
Вы получите вывод, подобный этому снимку экрана: вы добавили несколько версий репозиториев PostgreSQL в свой Rocky Linux, включая последнюю версию PostgreSQL 15.
После добавления репозитория PostgreSQL на следующем шаге вы узнаете, как установить и настроить PostgreSQL 15.
Установка PostgreSQL 15
На этом шаге вы установите PostgreSQL 15 в Rocky Linux, инициализируете базу данных и конфигурации PostgreSQL, затем запустите и включите службу PostgreSQL 15.
Запустите приведенную ниже команду dnf, чтобы установить сервер PostgreSQL 15. Введите y при запросе конфигурации, затем нажмите ENTER, чтобы продолжить.
sudo dnf install postgresql15-server postgresql15-contrib
Кроме того, когда будет предложено принять ключи GPG для репозитория PostgreSQL, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
После установки PostgreSQL 15 выполните приведенную ниже команду, чтобы инициализировать базу данных и конфигурацию PostgreSQL.
sudo postgresql-15-setup initdb
При этом вы получите такой вывод, как Инициализация базы данных... ОК.
Теперь запустите приведенную ниже командную утилиту systemctl, чтобы запустить и включить службу PostgreSQL 15.
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
Наконец, проверьте службу PostgreSQL 15 с помощью приведенной ниже команды systemctl. Это гарантирует, что ваш сервер PostgreSQL 15 включен и работает.
sudo systemctl status postgresql-15
Вы получите вывод, подобный этому снимку экрана: статус PostgreSQL 15 запущен и включен, что означает, что служба запустится автоматически при загрузке.
Теперь, когда вы установили сервер PostgreSQL 15, включили его и запустили. На следующем шаге вы настроите метод аутентификации для пользователей PostgreSQL.
Настройка аутентификации пользователя и шифрования пароля
После установки и запуска PostgreSQL 15 вы можете перейти к настройке аутентификации PostgreSQL. Это можно настроить с помощью файла конфигурации pg_hba.conf в каталоге конфигурации PostgreSQL.
Войдите в оболочку PostgreSQL с помощью следующей команды.
sudo -u postgres psql
После входа выполните приведенные ниже запросы, чтобы проверить конфигурацию PostgreSQL по умолчанию, в которой хранятся методы аутентификации, и проверить текущее шифрование паролей, которое используется на вашем сервере PostgreSQL.
SHOW hba_file;
SHOW password_encryption;
Вы получите вывод, подобный этому: файл конфигурации PostgreSQL по умолчанию для аутентификации — /var/lib/pgsql/15/data/pg_hba.conf, а аутентификация по паролю по умолчанию включена — scram-sha- 256.
Теперь откройте файл конфигурации PostgreSQL /var/lib/pgsql/15/data/pg_hba.conf с помощью приведенной ниже команды редактора nano.
sudo nano /var/lib/pgsql/15/data/pg_hba.conf
Измените конфигурацию по умолчанию с помощью следующих строк. Это изменит аутентификацию по паролю с localhost на scram-sha-256. Для локального подключения вы можете использовать одноранговый узел по умолчанию или аутентификацию по паролю scram-sha-256.
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
Сохраните файл и выйдите из редактора, когда закончите.
Затем выполните приведенную ниже команду systemctl, чтобы перезапустить службу PostgreSQL 15 и применить изменения.
sudo systemctl restart postgresql-15
Наконец, чтобы проверить свою конфигурацию, войдите в оболочку PostgreSQL с помощью приведенной ниже команды.
sudo -u postgres psql
Проверьте детали подключения, используя приведенный ниже запрос. Вы должны увидеть, что вы подключились к PostgreSQL через одноранговое локальное соединение unix_socket.
\conninfo
Теперь, если вы укажете хост PostgreSQL на локальный хост 127.0.0.1, вы должны увидеть соединение через аутентификацию по паролю с использованием scram-sha-256.
sudo -u postgres psql -U postgres -h 127.0.0.1
\conninfo
Установка пароля для пользователя PostgreSQL
По умолчанию PostgreSQL создает нового системного пользователя и пользователя PostgreSQL с именем postgres. На этом шаге вы установите новый пароль для пользователя Linux postgres через командную строку и для пользователя PostgreSQL postgres через оболочку PostgreSQL.
Для начала выполните приведенную ниже команду, чтобы создать новый пароль для пользователя postgres. Введите новый пароль и повторите, обязательно используйте надежный пароль для пользователя postgres.
sudo passwd postgres
Затем войдите в оболочку PostgreSQL с помощью приведенной ниже команды.
sudo -u postgres psql
Запустите приведенный ниже запрос, чтобы изменить пароль пользователя PostgreSQL по умолчанию postgres. И обязательно используйте пароль в следующем запросе.
ALTER USER postgres WITH PASSWORD 'p4ssw0rdPostgreSQL15';
exit
Введите exit, чтобы выйти из оболочки PostgreSQL.
Наконец, снова войдите на сервер PostgreSQL с помощью приведенной ниже команды.
sudo -u postgres psql -U postgres -h 127.0.0.1
При запросе пароля введите созданный вами пароль сервера PostgreSQL. Затем нажмите ВВОД.
В случае успеха вы должны увидеть оболочку PostgreSQL на скриншоте ниже. Вы также можете проверить статус подключения с помощью следующего запроса.
\conninfo
На этом шаге вы изменили и настроили пароль для пользователя PostgreSQL по умолчанию postgres. Вы также создали новый пароль для пользователя UNIX по умолчанию postgres. На следующем шаге вы узнаете, как создать нового пользователя PostgreSQL и создать новую базу данных для своего приложения.
Создание новой базы данных и пользователя в PostgreSQL
На этом этапе вы узнаете, как создать нового пользователя и базу данных PostgreSQL через оболочку PostgreSQL. Вы также узнаете, как проверить список баз данных и пользователей, доступных на сервере PostgreSQL.
Во-первых, убедитесь, что вы вошли в оболочку PostgreSQL. или вы можете войти в систему с помощью приведенной ниже команды.
sudo -u postgres psql
Создайте нового пользователя PostgreSQL, используя приведенный ниже запрос. В этом примере будет создан новый пользователь alice с привилегиями CREATEDB для создания баз данных и CREATEROLE\ для создания ролей в PostgreSQL.
CREATE USER alice WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdAlice';
Затем создайте новую базу данных, используя приведенный ниже запрос PostgreSQL. В этом примере вы создадите две базы данных: базу данных alice и базу данных testdb. У обеих баз данных будет один и тот же владелец — пользователь alice.
CREATE DATABASE alice OWNER alice;
CREATE DATABASE testdb OWNER alice;
Теперь проверьте список пользователей и список баз данных на вашем сервере PostgreSQL.
\du
\l
Результат запроса \du для отображения списка пользователей на сервере PostgreSQL. Новый пользователь alice создается с привилегиями CREATEDB и CREATEROLE.
Результат запроса \l для отображения списка баз данных на сервере PostgreSQL. Вы увидите новые базы данных alice и testdb.
Наконец, чтобы проверить нового пользователя PostgreSQL, вы войдете в оболочку PostgreSQL через нового пользователя alice.
Выполните приведенную ниже команду, чтобы войти в оболочку PostgreSQL под пользователем alice. При запросе пароля введите пароль и нажмите ENTER для подтверждения.
sudo -u postgres psql -U alice -h 127.0.0.1
После входа в оболочку PostgreSQL выполните приведенный ниже запрос, чтобы отобразить текущие подробные сведения о соединениях.
\conninfo
Вы должны получить примерно такой вывод: вы подключились к серверу PostgreSQL через пользователя alice и подключились к базе данных alice.
Теперь вы создали пользователей и базы данных PostgreSQL. Кроме того, вы вошли в оболочку PostgreSQL под новым пользователем. На следующем шаге вы узнаете, как создать таблицу и вставить в нее некоторые данные.
Создать таблицу и вставить данные
После создания нового пользователя и базы данных PostgreSQL вы научитесь создавать таблицы и вставлять данные в PostgreSQL. Вы также узнаете, как переключиться на другую базу данных в PostgreSQL и как проверить списки таблиц в базе данных PostgreSQL.
Прежде чем начать, убедитесь, что вы вошли в оболочку PostgreSQL как пользователь alice.
Проверьте список баз данных, чтобы убедиться, что база данных testdb доступна.
\l
Теперь переключитесь на базу данных testdb с помощью следующего запроса. Вы можете использовать \connect или просто \c.
\connect testdb
После переключения на базу данных testdb ваша оболочка PostgreSQL должна стать такой: testdb=>.
Затем выполните приведенный ниже запрос, чтобы создать новую таблицу users с некоторыми столбцами id, name, age, <адрес и зарплата.
CREATE TABLE users (
id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL,
address CHAR(50),
salary REAL
);
Вывод CREATE TABLE подтверждает, что новая таблица создана в вашей базе данных.
Теперь проверьте список таблиц в текущей базе данных с помощью приведенного ниже запроса. Вы должны увидеть созданную таблицу users.
\dt
После создания новой таблицы вы вставите в нее некоторые данные с помощью запроса INSERT.
Запустите приведенный ниже запрос INSERT, чтобы добавить некоторые данные в таблицу users.
INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada', 40000.00);
Выход INSERT 0 1 подтверждает, что новые данные добавлены в таблицу.
После создания таблицы и добавления некоторых данных в PostgreSQL вы узнаете, как извлекать данные из PostgreSQL и обновлять доступные данные в PostgreSQL.
Получение данных и обновление данных
После создания таблицы в PostgreSQL и вставки некоторых данных с помощью запроса INSERT вы узнаете, как извлекать данные с помощью запроса SELECT и как обновлять или изменять данные в определенных столбцах с помощью запроса UPDATE.
Чтобы получить данные, выполните приведенный ниже запрос PostgreSQL. Это позволит получить данные из таблицы PostgresSQL users.
SELECT * FROM users;
Вы получите такой вывод: все данные в таблице users будут отображаться в вашей оболочке PostgreSQL.
Вы также можете получить данные из определенных столбцов с помощью приведенного ниже запроса. Этот запрос извлечет данные из определенных столбцов имя, возраст и зарплата.
SELECT name,age,salary FROM users;
Ниже приведен вывод, который вы получите на своем терминале.
Затем выполните приведенный ниже запрос UPDATE, чтобы изменить данные в базе данных PostgreSQL. Это обновит данные об адресе столбца на Швецию для значения имени столбца Пол.
UPDATE users SET address = 'Sweden' WHERE name = 'Paul';
Выход UPDATE 1 подтверждает, что данные обновлены и изменены.
Запустите приведенный ниже запрос, чтобы убедиться, что данные в базе данных изменены.
SELECT * FROM users;
Вы получите примерно такой вывод: столбец address обновлен для name=Paul.
К этому моменту вы изучили основы использования запросов PostgreSQL для создания пользователя, базы данных, таблицы, вставки данных, извлечения данных и обновления данных на сервере PostgreSQL.
Очистите окружающую среду
На этом шаге вы очистите серверную среду PostgreSQL 15, удалив базу данных и созданных пользователей. Итак, вы очистили установку PostgreSQL 15, но также узнали, как очистить свой сервер PostgreSQL, удалив неиспользуемых пользователей, базы данных и таблицы.
Прежде чем приступить к работе, войдите в PostgreSQL как пользователь postgres по умолчанию.
sudo -u postgres psql
Переключитесь на базу данных testdb с помощью запроса \connect.
\connect testdb;
Выполните приведенный ниже запрос, чтобы удалить таблицу users, а затем проверьте список таблиц в текущей базе данных.
DROP TABLE users;
\dt
Вывод Не найдено отношений. подтверждает, что таблица users удалена.
Затем переключитесь на базу данных postgres и удалите базу данных alice и testdb.
\connect postgres
DROP DATABASE alice;
DROP DATABASE testdb;
Проверьте список баз данных с помощью приведенного ниже запроса. Вы увидите, что обе базы данных alice и testdb удалены с сервера PostgreSQL.
\l
Наконец, запустите приведенный ниже запрос, чтобы удалить пользователя alice. Затем проверьте список пользователей на сервере PostgreSQL.
DROP USER alice;
\du
Вы получите вывод, что пользователь alice удален с сервера PostgreSQL.
Благодаря этому вы очистили свой сервер PostgreSQL, а также изучили основные запросы для удаления пользователей, баз данных и таблиц на сервере PostgreSQL.
Заключение
В этом руководстве вы узнали, как установить последнюю версию PostgreSQL 15 на сервер Rocky Linux 9. Вы установили PostgreSQL через официальный репозиторий PostgreSQL, а также изучили базовую настройку аутентификации PostgreSQL.
Кроме того, вы узнали, как использовать сервер PostgreSQL. От создания пользователя, изменения пароля пользователя, создания базы данных и таблицы, вставки данных, запроса данных, обновления данных и очистки сервера PostgreSQL путем удаления неиспользуемой таблицы, базы данных и пользователя.
PostgreSQL — это корпоративная СУБД (система управления реляционными базами данных), наиболее часто используемая в современных отраслях в Интернете. При этом вы можете проверить и изучить другие запросы PostgreSQL, или вы также можете узнать, как развернуть PostgreSQL высокой доступности с несколькими серверами.