How to Install PostgreSQL 12 on CentOS 8 RHEL 8
Оглавление:
- Предпосылки
- Установка PostgreSQL на CentOS 8
- PostgreSQL Роли и методы аутентификации
- Создание роли и базы данных PostgreSQL
- Включить удаленный доступ к серверу PostgreSQL
- Вывод
PostgreSQL или Postgres является открытым исходным кодом общего назначения системы объектно-реляционных СУБД с большим количеством дополнительных функций, которая позволяет строить отказоустойчивые среды или сложные приложения.
В этом руководстве мы рассмотрим, как установить сервер базы данных PostgreSQL на CentOS 8. Прежде чем выбрать версию для установки, убедитесь, что ваши приложения поддерживают его.
Мы также рассмотрим основы администрирования баз данных PostgreSQL.
Предпосылки
Чтобы иметь возможность устанавливать пакеты, вы должны войти в систему как пользователь root или пользователь с привилегиями sudo.
Установка PostgreSQL на CentOS 8
На момент написания этой статьи, есть две версии сервера PostgreSQL доступны для установки из стандартных репозиториев CentOS: версия 9.6 и 10.0.
Чтобы просмотреть список доступных потоков модуля PostgreSQL, введите:
dnf module list postgresql
Вывод показывает, что модуль postgresql доступен с двумя потоками. Каждый поток имеет два профиля: сервер и клиент. По умолчанию используется поток 10 с сервером профилей:
CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module
-
Чтобы установить поток по умолчанию, сервер PostgreSQL версии 10.0 введите:
sudo dnf install @postgresql:10Для установки сервера PostgreSQL версии 9.6 введите:
sudo dnf install @postgresql:9.6
Вы также можете установить пакет contrib, который предоставляет несколько дополнительных функций для базы данных PostgreSQL:
sudo dnf install postgresql-contrib
После завершения установки инициализируйте базу данных PostgreSQL с помощью следующей команды:
sudo postgresql-setup initdb
Initializing database… OK
Запустите службу PostgreSQL и включите ее при загрузке:
sudo systemctl enable --now postgresql
Используйте инструмент
psql
для проверки установки, подключившись к серверу базы данных PostgreSQL и распечатав его версию:
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
PostgreSQL Роли и методы аутентификации
PostgreSQL обрабатывает права доступа к базе данных, используя концепцию ролей. Роль может представлять пользователя базы данных или группу пользователей базы данных.
PostgreSQL поддерживает несколько методов аутентификации. Наиболее часто используемые методы:
- Доверие - Роль может подключиться без пароля, до тех пор, пока условия, определенные в
pg_hba.confявляются met.Password - Роль может подключиться путем предоставления пароля. Пароли могут быть сохранены в видеscram-sha-256,md5иpassword(открытым текстом).Ident - поддерживается только на соединениях TCP / IP. Он работает путем получения имени пользователя операционной системы клиента, с дополнительным именем пользователя mapping.Peer - То же, что Ident, но поддерживаются только локальные подключения.
Аутентификация клиента PostgreSQL определяется в файле конфигурации с именем
pg_hba.conf
. По умолчанию для локальных подключений PostgreSQL настроен на использование метода одноранговой аутентификации.
Пользователь
postgres
автоматически создается при установке сервера PostgreSQL. Этот пользователь является суперпользователем для экземпляра PostgreSQL. Это эквивалентно пользователю root MySQL.
Для того, чтобы войти на сервер PostgreSQL как
postgres
пользователь, первый переключатель к пользователю, а затем получить доступ к PostgreSQL строки с помощью
psql
утилиты:
sudo su - postgres
psql
Отсюда вы можете взаимодействовать с экземпляром PostgreSQL. Чтобы выйти из оболочки PostgreSQL, введите:
\q
Вы также можете получить доступ к приглашению PostgreSQL, не переключая пользователей с помощью команды
sudo
:
sudo -u postgres psql
Обычно пользователь
postgres
используется только с локального хоста.
Создание роли и базы данных PostgreSQL
Только суперпользователи и роли с привилегией
CREATEROLE
могут создавать новые роли.
В следующем примере мы создадим новую роль с именем
john
, базу данных с именем
johndb
и предоставим привилегии для базы данных.
-
Сначала подключитесь к оболочке PostgreSQL:
sudo -u postgres psqlСоздайте новую роль PostgreSQL, используя следующую команду:
create role john;Создайте новую базу данных:
create database johndb;Предоставьте пользователю права доступа к базе данных, выполнив следующий запрос:
grant all privileges on database johndb to john;
Включить удаленный доступ к серверу PostgreSQL
По умолчанию сервер PostgreSQL прослушивает только локальный интерфейс
127.0.0.1
.
Чтобы включить удаленный доступ к вашему серверу PostgreSQL, откройте файл конфигурации:
sudo nano /var/lib/pgsql/data/postgresql.conf
Прокрутите вниз до раздела
CONNECTIONS AND AUTHENTICATION
и добавьте / отредактируйте следующую строку:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Сохраните файл и перезапустите сервис PostgreSQL с помощью:
sudo systemctl restart postgresql
Проверьте изменения с помощью утилиты
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
Вывод выше показывает, что сервер PostgreSQL прослушивает порт по умолчанию на всех интерфейсах (0.0.0.0).
Последний шаг - настроить сервер на прием удаленных подключений, отредактировав файл
pg_hba.conf
.
Ниже приведены примеры, показывающие различные варианты использования:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Вывод
CentOS 8 предоставляет две версии PostgreSQL: 9.6 и 10.0.
Для получения дополнительной информации по этой теме посетите документацию PostgreSQL
база данных Centos PostgresqlКак установить postgresql на centos 7
PostgreSQL или Postgres - это система управления объектно-реляционными базами данных общего назначения с открытым исходным кодом. В этом уроке мы покажем вам два разных способа установки PostgreSQL на вашем компьютере с CentOS 7.
Как установить PostgreSQL на Debian 10
В этом руководстве рассматриваются этапы установки сервера базы данных PostgreSQL в Debian 10. PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом.
Как установить PostgreSQL на Debian 9
PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом. В этом руководстве мы покажем вам, как установить PostgreSQL на Debian 9, и рассмотрим основы базового администрирования баз данных.







