PostgreSQL - How to install PostgreSQL 10 On CentOS 7 / RHEL 7
Оглавление:
- Предпосылки
- Установите PostgreSQL из репозиториев CentOS
- Установите PostgreSQL из репозиториев PostgreSQL
- PostgreSQL Роли и методы аутентификации
- Создание роли и базы данных PostgreSQL
- Включить удаленный доступ к серверу PostgreSQL
- Вывод
PostgreSQL или Postgres - это система управления объектно-реляционными базами данных общего назначения с открытым исходным кодом, обладающая множеством расширенных функций, которая позволяет создавать сложные веб-приложения.
В этом руководстве мы покажем вам два разных способа установки PostgreSQL на вашем компьютере с CentOS 7. Первый способ проведет вас через шаги, необходимые для установки PostgreSQL v9.2.23 из репозиториев CentOS, а второй покажет, как установить последнюю версию PostgreSQL из официальных репозиториев PostgreSQL.
Если вашему приложению не требуется последняя версия, мы рекомендуем использовать первый метод и установить PostgreSQL из репозиториев CentOS.
Мы также рассмотрим основы администрирования баз данных PostgreSQL.
Предпосылки
Прежде чем продолжить этот урок, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Установите PostgreSQL из репозиториев CentOS
На момент написания этой статьи последняя версия PostgreSQL, доступная в репозиториях CentOS, - это PostgreSQL версии 9.2.23.
Чтобы установить PostgreSQL на вашем сервере CentOS, выполните следующие действия:
-
Установка PostgreSQL
Чтобы установить сервер PostgreSQL вместе с пакетом постов PostgreSQL, который предоставляет несколько дополнительных функций для базы данных PostgreSQL, просто введите:
sudo yum install postgresql-server postgresql-contribИнициализация базы данных
Инициализируйте базу данных PostgreSQL с помощью следующей команды:
sudo postgresql-setup initdbInitializing database… OKЗапуск PostgreSQL
Чтобы запустить службу PostgreSQL и включить ее при загрузке, просто введите:
sudo systemctl start postgresqlsudo systemctl enable postgresqlПроверка установки PostgreSQL
Для проверки установки мы попытаемся подключиться к серверу базы данных PostgreSQL с помощью инструмента
psqlи распечатать версию сервера:sudo -u postgres psql -c "SELECT version();"PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Установите PostgreSQL из репозиториев PostgreSQL
На момент написания этой статьи последняя версия PostgreSQL, доступная в официальных репозиториях PostgreSQL, - это версия PostgreSQL 10.4. Прежде чем перейти к следующему шагу, вы должны посетить страницу репозитория PostgreSQL Yum и проверить, доступна ли новая версия.
Для установки последней версии PostgreSQL на ваш сервер CentOS выполните следующие действия:
-
Включение репозитория PostgreSQL
Чтобы включить репозиторий PostgreSQL, просто установите
rpmфайл репозитория:sudo yum installУстановка PostgreSQL
После того, как хранилище включено, установите сервер PostgreSQL и пакеты для PostgreSQL с помощью:
sudo yum install postgresql10-server postgresql10-contribИнициализация базы данных
Для инициализации базы данных PostgreSQL введите:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdbInitializing database… OKЗапуск PostgreSQL
Чтобы запустить службу PostgreSQL и включить ее при загрузке, выполните следующие действия:
sudo systemctl start postgresql-10sudo systemctl enable postgresql-10Проверка установки PostgreSQL
Для проверки установки мы попытаемся подключиться к серверу базы данных PostgreSQL с помощью инструмента
psqlи распечатать версию сервера:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
PostgreSQL Роли и методы аутентификации
Права доступа к базе данных в PostgreSQL обрабатываются с помощью концепции ролей. Роль может представлять пользователя базы данных или группу пользователей базы данных.
PostgreSQL поддерживает несколько методов аутентификации. Наиболее часто используемые методы:
- Доверие - с помощью этого метода роль может подключаться без пароля, если выполняются критерии, определенные в
pg_hba.confПароль - роль может подключаться путем предоставления пароля. Пароли могут храниться какscram-sha-256md5иpassword(открытый текст). Идентификатор - этот метод поддерживается только для соединений TCP / IP. Он работает путем получения имени пользователя операционной системы клиента с необязательным отображением имени пользователя. Peer - То же, что и Ident, но поддерживается только для локальных подключений.
Аутентификация клиента PostgreSQL определяется в файле конфигурации с именем
pg_hba.conf
. По умолчанию для локальных подключений PostgreSQL настроен на использование метода одноранговой аутентификации.
Пользователь
postgres
создается автоматически при установке PostgreSQL. Этот пользователь является суперпользователем экземпляра PostgreSQL и эквивалентен пользователю root MySQL.
Чтобы войти на сервер PostgreSQL как пользователь postgres, сначала вам нужно переключиться на пользователя postgres, а затем получить доступ к приглашению PostgreSQL с помощью утилиты
psql
:
sudo su - postgres
psql
Отсюда вы можете взаимодействовать с вашим экземпляром PostgreSQL. Чтобы выйти из оболочки PostgreSQL, введите:
\q
Вы также можете получить доступ к приглашению PostgreSQL, не переключая пользователей с помощью команды
sudo
:
sudo -u postgres psql
Пользователь
postgres
обычно используется только с локального хоста, поэтому не рекомендуется устанавливать пароль для этого пользователя.
psql
который является
/usr/pgsql-10/bin/psql
.
Создание роли и базы данных PostgreSQL
Только суперпользователи и роли с привилегией
CREATEROLE
могут создавать новые роли.
В следующем примере мы создадим новую роль с именем
john
базу данных с именем
johndb
и предоставим привилегии для базы данных.
-
Подключитесь к PostgreSQL Shell
sudo -u postgres psqlСоздать новую роль PostgreSQL
Следующая команда создаст новую роль с именем john:
create role john;Создать новую базу данных PostgreSQL
Создайте новую базу данных с именем johndb с помощью команды
createdb:create database johndb;Предоставить привилегии
Чтобы предоставить разрешения пользователю
johnв базе данных, которую мы создали на предыдущем шаге, выполните следующий запрос:grant all privileges on database johndb to john;
Включить удаленный доступ к серверу PostgreSQL
По умолчанию сервер PostgreSQL прослушивает только локальный интерфейс
127.0.0.1
. Чтобы включить удаленный доступ к вашему серверу PostgreSQL, откройте файл конфигурации
postgresql.conf
и добавьте
listen_addresses = '*'
в разделе
CONNECTIONS AND AUTHENTICATION
.
sudo vim /var/lib/pgsql/data/postgresql.conf
Если вы используете PostgreSQL версии 10, путь к файлу будет
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/postgresql.conf.
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
сохраните файл и перезапустите сервис PostgreSQL с помощью:
sudo systemctl restart postgresql
Если вы используете PostgreSQL версии 10, перезапустите службу PostgreSQL с помощью
systemctl restart postgresql-10
.
Проверьте изменения с помощью утилиты
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 will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Если вы используете PostgreSQL версии 10, полный путь к файлу:
/var/lib/pgsql/10/data/pg_hba.conf
.
Вывод
Вы узнали, как установить и настроить PostgreSQL на вашем сервере CentOS 7.
Вы можете обратиться к документации PostgreSQL для получения дополнительной информации по этой теме.
база данных Centos PostgresqlКак установить postgresql на centos 8
В этом руководстве мы рассмотрим, как установить сервер базы данных PostgreSQL на CentOS 8. Мы также изучить основы администрирования баз данных PostgreSQL.
Как установить PostgreSQL на Debian 10
В этом руководстве рассматриваются этапы установки сервера базы данных PostgreSQL в Debian 10. PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом.
Как установить PostgreSQL на Debian 9
PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом. В этом руководстве мы покажем вам, как установить PostgreSQL на Debian 9, и рассмотрим основы базового администрирования баз данных.







