Поиск по сайту:

Как установить PostgreSQL 15 на Rocky Linux 9


Это руководство существует для этих версий ОС

  • Rocky Linux 9
  • Rocky Linux 8.4

На этой странице

  1. Предпосылки
  2. Настройка репозитория
  3. Установка PostgreSQL 15
  4. Настройка аутентификации пользователя и шифрования пароля
  5. Настройка пароля для пользователя PostgreSQL
  6. Создание новой базы данных и пользователя в PostgreSQL
  7. Создать таблицу и вставить данные
  8. Получение данных и обновление данных
  9. Очистить окружающую среду
  10. Заключение

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 высокой доступности с несколькими серверами.