Пост

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

PostGIS - это расширение для реляционной базы данных PostgreSQL, которое добавляет поддержку географических объектов и операций над ними. Также PostGIS обеспечивает поддержку различных форматов географических данных, таких как WKT, Well-Known Text, и WKB, Well-Known Binary, что позволяет легко обмениваться данными с другими системами и инструментами.

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

1
$ sudo yum install wget nano

Установка PostgreSQL

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

1
2
$ sudo wget http://yum.pgrpms.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-7.noarch.rpm
$ sudo rpm -ivh pgdg-centos92-9.2-7.noarch.rpm

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

1
2
3
4
5
6
7
8
9
10
$ sudo nano /etc/yum.repos.d/CentOS-Base.repo
[base]
...
exclude=postgresql*
...

[updates]
...
exclude=postgresql*
...

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

1
2
3
$ sudo yum install postgresql92 postgresql92-server
$ sudo service postgresql-9.2 initdb
$ sudo chkconfig postgresql-9.2 on

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

1
2
$ sudo su - postgres
$ psql

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

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

Выходим

1
2
=# \q
$ exit

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

1
2
3
4
5
$ sudo 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.0/24 md5

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

1
2
$ sudo nano /var/lib/pgsql/9.2/data/postgresql.conf
listen_addresses = '*'

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

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

1
$ sudo service postgresql-9.2 restart

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

1
2
3
4
$ sudo nano /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

$ sudo service iptables restart

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

1
$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Установка PostGIS

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

1
$ sudo yum install postgis2_92 postgresql92-contrib

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

1
2
3
$ sudo su - postgres
$ createdb postgis
$ psql postgis

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

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

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

1
2
3
=# CREATE EXTENSION postgis_topology;
=# CREATE EXTENSION fuzzystrmatch;
=# CREATE EXTENSION postgis_tiger_geocoder;
Авторский пост защищен лицензией CC BY 4.0 .

© IT Draft. Некоторые права защищены.