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 94. инициализировать (инициализировать) кластер
Используйте эту команду для инициализации кластера в расположении по умолчанию на системном диске.
# /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 .