Install postgresql centos 7: Установка PostgreSQL на Centos 7 — Serverspace

Как установить Postgres/Posgresql на CentOS 7 (или RHEL 7) | by The Quantitative

3 минуты чтения

·

28 июня 2018 г.

Все от имени пользователя root, как показано на двух инстансах onMetal Cloud I/Ov2 в RackSpace с сетевым подключением к стойке, чтобы эти инстансы были защищены нашим основным выделенным брандмауэром .
По какой-то причине, связанной с лицензированием, Red Hat не разрешает использовать лицензии RHEL для этих серверов onMetal. Таким образом, это был хороший предлог для использования CentOS. До сих пор, кажется, то же самое дело практически говоря.

1. добавить необходимое репо

 # rpm -Uvh https://yum.postgresql.org/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm 

Есть yum версия этого ниже. Приведенная выше команда предполагает, что Centos 7 является вашей операционной системой. Вы можете использовать этот сайт, чтобы получить аналогичную команду для выполнения на основе выбора из нескольких раскрывающихся списков: https://www. postgresql.org/download/linux/redhat/

Имейте в виду, что текущая версия программного обеспечения 10 — 10.6. на момент последнего редактирования этой статьи.

Это должно дать вам представление о расписании EOL для версии postgres, начиная с 9.0

Кстати, вместо использования rpm мы также можем использовать yum:

 yum install https://download.postgresql.org/pub/repos /yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm 

Результат вышеописанного шага должен дать что-то похожее на ваш терминал

2. установить необходимые пакеты

 # yum - установить postgresql10 postgresql10-server postgresql10-contrib postgresql10-libs postgresql10-devel 9

4. инициализировать (инициализировать) кластер

Используйте эту команду для инициализации кластера в расположении по умолчанию на системном диске.

 # /usr/pgsql-10/bin/postgresql-10-setup initdb 

мы можем проверить конфиги и прочее из
/var/lib/pgsql/10/data

Теперь мы можем проверить установку

 — — — — — — — скопировано с терминала — — — — — — — — — — 
— инициализация кластера
[root@onMetal-db1 ~]# /usr/pgsql-10/bin/postgresql-10-setup initdb
Инициализация база данных … ОК — запустить службу
[root@onMetal-db1 ~]# systemctl start postgresql-10. service — переключиться на пользователя postgres
[root@onMetal-db1 ~]# su — postgres — войти в интерактивный терминал psql
-bash-4.2$ psql
psql ( 10.4)
Введите «help» для получения справки. — введите \l для команды списка, которая выводит список текущих экземпляров базы данных в этом кластере
postgres=# \l
Список баз данных
Имя | Владелец | Кодирование | Разобрать | Тип | Права доступа
— — — — — —+ — — — — + — — — — — + — — — — — — — + — — — — —
постгрес | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
шаблон0 | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
+
| | | | | postgres=CTc/postgres
шаблон1 | постгрес | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
+
| | | | | postgres=CTc/postgres
(3 строки)

https://www.postgresql.org/message-id/3BA3B7A7.FD644810%40yahoo.com

Установка PostgreSQL 9.4 и phpPgAdmin в CentOS 7/6.5/6.4

90 011 Введение

PostgreSQL — мощная система объектно-реляционных баз данных с открытым исходным кодом. Он работает под всеми основными операционными системами, включая Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS, Solaris, Tru64) и ОС Windows.

На прошлой неделе был выпущен PostgreSQL 9.4 со значительными улучшениями, исправлениями и функциями. О том, что нового в PostgreSQL 9.4 , читайте здесь .

В этом удобном руководстве мы посмотрим, как установить PostgreSQL 9.4 на сервер CentOS 7/6.5/6.4.

Установите PostgreSQL

Перейдите на страницу загрузки репозитория PostgreSQL и добавьте репозиторий PostgreSQL 9.4 в зависимости от архитектуры вашего сервера.

For CentOS 6.x 32bit:

 rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-i386/pgdg-centos94-9.4-1.noarch.rpm 

Для CentOS 6.x 64bit:

 rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm 

Для CentOS 7 64 бит:

 rpm -Uvh http://yum. postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm 

Обновите список репозиториев с помощью команды:

 yum update 

Теперь установите postgresql с помощью следующей команды:

 yum install postgresql94-server postgresql94-contrib 

Инициализируйте базу данных postgresql с помощью следующей команды:

В системах CentOS 6.x:
 service postgresql-9.4 initd б 
В CentOS 7 систем:
 /usr/pgsql-9.4/bin/postgresql94-setup initdb 

Затем запустите службу postgresql и сделайте так, чтобы она запускалась автоматически при каждой перезагрузке.

В системах CentOS 6.x:
 запуск службы postgresql-9.4
chkconfig postgresql-9.4 на 
В системах CentOS 7:
 systemctl включить postgresql-9.4
systemctl start postgresql-9.4 

Настройте Iptables/Firewall

Затем настройте iptables для доступа к postgresql из удаленных систем.

В системах CentOS 6.

x:

 vi /etc/sysconfig/iptables 

Добавьте следующую строку:

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 

Сохраните файл и закройте его. Перезапустите службу iptables.

 перезапуск службы iptables 
В системах CentOS 7:
 firewall-cmd --permanent --add-port=5432/tcp
брандмауэр-cmd --permanent --add-port=80/tcp
брандмауэр-cmd --перезагрузить 

Настройка SELinux

Выполните следующую команду, чтобы PostgreSQL работал, если в вашей системе включен SELinux.

 setsebool -P httpd_can_network_connect_db 1 

Вы не можете войти в PostegreSQL, если не выполнили приведенную выше команду.

Доступ к командной строке PostgreSQL

Имя базы данных по умолчанию и пользователь базы данных — «postgres» . Переключитесь на пользователя postgres для выполнения операций, связанных с postgresql:

 su - postgres 

Чтобы войти в postgresql, введите команду:

 psql 

Пример вывода:

 psql (9. 4.0)
Введите "помощь" для помощи.

postgres=# 

Чтобы выйти из приглашения posgresql, введите \q , а затем quit , чтобы вернуться обратно в Терминал.

Установить пароль пользователя «postgres»

Вход в приглашение postgresql,

 su - postgres

psql 

.. и установите пароль postgres с помощью следующей команды:

 postgres=#  \password postgres 
Введите новый пароль:
Введите его снова:
postgres=# \q 

Чтобы установить PostgreSQL Adminpack, введите команду в приглашении postgresql:

 postgres=#  CREATE EXTENSION adminpack; 
CREATE EXTENSION 

Создать нового пользователя и базу данных

Например, давайте создадим нового пользователя с именем «senthil» с паролем «centos» и базу данных с именем «mydb» .

Переключиться на пользователя postgres:

 su - postgres 

Создать пользователя senthil .

 $ createuser senthil 

Создать базу данных:

 $ createdb mydb 

Теперь войдите в приглашение psql, установите пароль и предоставьте доступ к базе данных mydb для senthil :

90 013 $ psql

 psql ( 9.4.0)
Введите "помощь" для помощи.

postgres=#  изменить пользователя senthil с зашифрованным паролем 'centos'; 
ИЗМЕНИТЬ РОЛЬ

postgres=#  предоставить все права на базу данных mydb для senthil; 
ГРАНТ
postgres=# 

Удалить пользователей и базы данных

Чтобы удалить базу данных, переключитесь на пользователя postgres:

 su - postgres 

Введите команду:

 $ dropdb  

Чтобы удалить пользователя, введите следующее команда:

 $ dropuser  

Настройка аутентификации PostgreSQL-MD5

Аутентификация MD5 требует, чтобы клиент предоставил для аутентификации пароль, зашифрованный MD5. Для этого отредактируйте /var/lib/pgsql/9.4/data/pg_hba.conf файл:

 vi /var/lib/pgsql/9.4/data/pg_hba.conf 

Добавьте или измените строки, как показано ниже

 [.. .]
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" только для соединений сокетов домена Unix
local   all             all                                     md5
# Локальные соединения IPv4:
хост    все             все             127.0.0.1/32            md5
хост    все             все              192.168.1.0/24          md5
# Локальные соединения IPv6:
хост    все             все             ::1/128                  md5
[...] 

Перезапустите службу postgresql, чтобы применить изменения:

В системах CentOS 6.x:
 перезапуск службы postgresql-9.4 
В системах CentOS 7:
 перезапуск systemctl postgresql-9.4 

Настройка сообщения greSQL- Настройка TCP/IP

По умолчанию соединение TCP/IP отключено, поэтому пользователи с других компьютеров не могут получить доступ к postgresql. Чтобы разрешить подключение пользователей с других компьютеров, отредактируйте файл /var/lib/pgsql/9.4/data/postgresql.conf :

 vi /var/lib/pgsql/9.4/data/postgresql.conf 

Найдите строки:

 [...]
#listen_addresses = 'локальный хост'
[...]
# порт = 5432
[...] 

Раскомментируйте обе строки и установите IP-адрес вашего сервера postgresql или установите ‘*’ для прослушивания от всех клиентов, как показано ниже:

 listen_addresses = '*'
порт = 5432 

Перезапустите службу postgresql, чтобы сохранить изменения:

В системах CentOS 6.x:
 /etc/init.d/postgresql-9.4 reboot 
В системах CentOS 7:
 перезапуск systemctl postgresql-9.4 

Управление PostgreSQL с помощью phpPgAdmin

9 0073 phpPgAdmin — это веб- утилита администрирования, написанная на PHP для управления PosgreSQL.

phpPgAdmin доступен только в репозитории PostgreSQL RPM. Если вы не добавили репозиторий PostgreSQL, вы должны добавить репозиторий EPEL.

Перейдите по ссылке ниже, чтобы установить репозиторий EPEL на CentOS 6.x.

  • Установить репозиторий EPEL на CentOS/RHEL/Scientific Linux 6

Для CentOS 7 перейдите по следующей ссылке.

  • Установить репозиторий EPEL на CentOS 7

Или просто введите следующую команду:

 yum install epel-release 

Обновите репозиторий с помощью команды:

 yum update 

Теперь установите phpPgAdmin, введите следующую команду:

 yum install phpPgAdmin http д 

Примечание: phpPgAdmin чувствителен к регистру. Правильно используйте верхний и нижний регистры, как показано в приведенной выше команде.

По умолчанию вы можете получить доступ к phppgadmin, используя http://localhost/phpPgAdmin , только из вашей локальной системы. Чтобы получить доступ к удаленным системам, выполните следующие действия.

Отредактируйте файл /etc/httpd/conf.d/phpPgAdmin.conf :

 vi /etc/httpd/conf.d/phpPgAdmin.conf 

Внесите изменения, как показано ниже жирным шрифтом.

 [...]
Псевдоним /phpPgAdmin /usr/share/phpPgAdmin

<Расположение /phpPgAdmin>

# Апач 2.4
          Требовать все предоставленные 
#Требуется хост example.com


# Апач 2.2
Отклонить заказ, разрешить
 Разрешить от всех 
# Разрешить с .example.com

 

Запуск или перезапуск службы Apache:

В системах CentOS 6.x:
 запуск службы httpd
chkconfig httpd на 
В системах CentOS 7:
 systemctl включить httpd
systemctl start httpd 

Настройте phpPgAdmin

Отредактируйте файл /etc/phpPgAdmin/config.inc.php и внесите следующие изменения. Большинство этих опций говорят сами за себя. Внимательно прочтите их, чтобы узнать, почему вы меняете эти значения.

 vi /etc/phpPgAdmin/config.inc.php 

Найдите следующую строку:

 $conf['servers'][0]['host'] = ''; 

Измените его, как показано ниже:

 $conf['servers'][0]['host'] = 'localhost'; 

И находим строку:

 $conf['extra_login_security'] = true; 

Измените значение на false :

 $conf['extra_login_security'] = false; 

Найдите строку:

 $conf['owned_only'] = false; 

Установить значение true .ru

 $conf['owned_only'] = true; 

Сохраните и закройте файл. Перезапустите службу postgresql и службы Apache.

В системах CentOS 6.x:
 служба postgresql-9.4 перезапуск
service httpd restart 
В системах CentOS 7:
 перезапуск systemctl postgresql-9.4
systemctl reboot httpd 

Теперь откройте браузер и перейдите по адресу http://ip-address/phpPgAdmin .