PostgresQL + PostGIS на Ubuntu 16.04

#StandWithUkraine
Today, 24th Июнь 2022, Ukraine is still bravely fighting for democratic values, human rights and peace in whole world. Russians ruthlessly kill all civilians in Ukraine including childs and destroy their cities. We are uniting against Putin’s invasion and violence, in support of the people in Ukraine. You can help by donating to Ukrainian's army.

Установка необходимых пакетов

Для установки PostgresQL и его расширения PostGIS требуется вначале подключить его репозиторий. Для этого нужно создать файл в директории с источниками пакетов

sudo nano /etc/apt/sources.list.d/pgdg.list

и добавить в него строку:

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

Далее импортировать ключ доступа к нему и обновить список пакетов

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update

Устанавливаем необходимые пакеты.

sudo apt-get install postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5 libpq-dev postgresql-server-dev-9.5 postgresql-9.5-postgis-2.3

версии Postgresql и PostGIS можно выбрать другие в зависимости от поставленных задач.

Настройка пользователя базы данных

Чтобы разрешить соединения по TCP/IP в файле /etc/postgresql/9.5/main/postgresql.conf строку

#listen_addresses = 'localhost'

заменить на

listen_addresses = '0.0.0.0'

для возможности подключения других компьютеров.

Далее устанавливаем пароль для пользователя posgres (он создается автоматически при установке Postgresql)

sudo -u postgres psql template1
ALTER USER postgres with encrypted password '<ваш новый пароль>';

После настройки пароля, требуется изменить файл /etc/postgresql/9.5/main/pg_hba.conf на использование MD5 аутентификации для пользователя postgres:

local   all         postgres                          md5

И в завершении перезапустить postgresql

sudo /etc/init.d/postgresql restart

Настройка базы данных

Все выполняемые далее sql-запросы находятся в директории usr/share/postgresql/9.5/contrib/postgis-2.3 поэтому при выполнении запросов нужно указывать либо полный путь, либо перейти в это директорию.

Вначале нужно создать базу данных. Для примера будем использовать в качестве имени базы test

sudo createdb --username postgres test
sudo createlang --username postgres pspgsql test

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

psql --username posgres -d test -f postgis.sql
psql --username posgres -d test -f postgis_comments.sql
psql --username posgres -d test -f spatial_ref_sys.sql
psql --username posgres -d test -f topology.sql
psql --username posgres -d test -f topology_comments.sql
#ubuntu #postgresql #postgis
1
Pavel Shinyaev фотография профиля
Июн 14, 2017
по Pavel Shinyaev
Вам помог этот хинт?
Да !
Нет

Лучшие по теме