Site icon IT Draft

Устанавливаем PostgreSQL 9.2 + PostGIS 2 на Centos 6.7

Устанавливаем PostgreSQL 9.2 + PostGIS 2 на Centos

Устанавливаем утилиту wget и текстовый редактор nano

[root@localhost ~]# yum install wget nano

Установка PostgreSQL

Добавляем репозиторий

[root@localhost ~]# wget http://yum.pgrpms.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-7.noarch.rpm
[root@localhost ~]# rpm -ivh pgdg-centos92-9.2-7.noarch.rpm

Правим конфигурационный файл репозитория CentOS-Base.repo, что бы в дальнейшем установить PostgreSQL  из добавленного репозитория

[root@localhost ~]# nano /etc/yum.repos.d/CentOS-Base.repo
[base]
exclude=postgresql*

[updates]
exclude=postgresql*

Устанавливаем PostgreSQL 9.2, инициализируем его и добавляем в автозагрузку

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


[root@localhost ~]# yum install postgresql92 postgresql92-server
[root@localhost ~]# service postgresql-9.2 initdb
[root@localhost ~]# chkconfig postgresql-9.2 on

Редактируем файл pg_hba.conf  и меняем тип идентификации на ident (идентификация по разрешенному имени пользователя)

[root@localhost ~]# nano /var/lib/pgsql/9.2/data/pg_hba.conf
local all all ident

Входим в систему под именем пользователя postgres и запускаем оболочку psql

[root@localhost ~]# su postgres
bash-4.1$ psql

Зададим пользователю postgres пароль

postgres=# ALTER ROLE postgres WITH PASSWORD 'postgres';

Выходим

postgres=# \q
bash-4.1$ exit

Вновь редактируем файл pg_hba.conf и меняем тип идентификации на md5. Так же добавляем нашу подсеть, чтобы можно было подключаться к PostgreSQL через клиент PgAdmin

[root@localhost ~]# nano /var/lib/pgsql/9.2/data/pg_hba.conf
local all all md5
host all all 127.0.0.1/32 md5
host all all 192.168.1.1/24 md5

Редактируем postgresql.conf

[root@localhost ~]# nano /var/lib/pgsql/9.2/data/postgresql.conf
listen_addresses = '*'

Без этого изменения удаленно подключиться к PostgreSQL не получится

Перезапускаем службу

[root@localhost ~]# service postgresql-9.2 restart

Редактируем правила файерволла, открываем стандартный порт PostgreSQL. Перезапускаем iptables

[root@localhost ~]# nano /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

[root@localhost ~]# service iptables restart

Добавляем репозиторий EPEL, чтобы в процессе установки PostGIS подтянулись зависимости

[root@localhost ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Установка PostGIS

Ставим PostGIS и дополнительные расширения

[root@localhost ~]# yum install postgis2_92 postgresql92-contrib

Создаем новую базу данных

[root@localhost ~]# su - postgres
-bash-4.1$ createdb postgis
-bash-4.1$ psql postgis

Устанавливаем дополнительные расширения и проверяем

postgis=# CREATE EXTENSION postgis;
postgis=# SELECT PostGIS_full_version();

Добавляем поддержку топологии и ставим дополнительные расширения

postgis=# CREATE EXTENSION postgis_topology;
postgis=# CREATE EXTENSION fuzzystrmatch;
postgis=# CREATE EXTENSION postgis_tiger_geocoder;
Exit mobile version