PostGis вопросы по запросам к БД

Потом можно собрать запросом без проблем, лишь бы линии собрал.

Веи тоже не собирает, но ведь и их можно запросом собрать, может и варварство, но… Все зависит от задачи. Наверняка не для всех линий и мультиполигонов нужны будут геометрии, так за чем все конвертить…

Веи собирает если в таблице ways есть колонка linestring.

Да, пишет с отрицательными id, а при накатывании диффов обновляет.

Поставил я Линукс.

Поставил БД. В результате автоматом создалась БД с именем postgre.

Терминал у меня, естественно, под другим именем. В результате я не могу ни создать таблицу, ни выполнить ни каких операций.

Как мне быть, я не пойму.

Я знаю, что эта тема напрямую не связана с PostGis и моим первым вопросам, но пока я его не решу, задавать вопросы по теме я не смогу. Надеюсь на понимание и помощь.

Работаю под Лубунту (легкая версия Убунту).

Доки по PostgreSQL и Убунту я читал. И продолжаю читать. Но пока разобраться тяжело.

При попытке создать БД pl выдает следующую ошибку:

defond@defond-1201T:~$ createdb pl
createdb: could not connect to database postgres: FATAL:  role "defond" does not exist
defond@defond-1201T:~$ 

pgAdmin3 тоже поставил. Могу сделать скриншот.

В pgAdmin все пусто. Есть только во вкладке “Браузер объектов” надпись “Группы серверов” и все.

Под Виндой выкидывалась сразу БД созданная по умолчанию.

В Линуксе все по другому.

Чтобы не быть голословным. Вот что я сейчас читаю:

http://postgresql-lab.blogspot.ru/2013/01/191-pghbaconf.html

http://ubuntologia.ru/blog/for-administrator/103.html

Ну и в Гугле ищу.

Результата пока нет. Ругается, что у пользователя не определена роль.

Может можно сделать БД в pgAdmin но я пока инструкции не нашел.

По умолчанию создается единственный пользователь с правами суперюзер - postgres. Осуществите первый коннект от его имени. Тогда уже создавайте своих пользователей, базы и т.д. и т.п.

Спасибо.

Это я понял уже давно. Теперь самый глупый вопрос - А как мне войти в БД под именем postgres? :slight_smile:

Терминал мне выдает ошибку идентификации. Скорее всего я задаю неверную команду, т.к. искал примеры команд в докуах самой Убунту.

Если у Вас есть вариант, пожалуйста, напишите команды, которые помогут мне создать пользователя с ником defond в БД, созданной по умолчанию. А дальше я сам. :slight_smile:

Или может есть вариант переименовать postgres-юзера на defond?

А дальше уже буду разбираться.

По умолчанию административными правами обладает только юзер postgres. Так что надо перейти под юзера postgres:

sudo su - postgres

Запустить psql:

psql

Затем создать себе юзера, базу и установить в неё postgis и hstore:

create user defond login;
create database defond owner defond;
\c defond
create extension hstore;
create extension postgis;
alter table spatial_ref_sys owner to defond;
alter view geometry_columns owner to defond;
alter view geography_columns owner to defond;
alter view raster_columns owner to defond;
alter view raster_overviews owner to defond;

Теперь можно вернуться к юзеру defond и запустить psql из-под него. По умолчанию он законнектится к базе defond юзером defond без пароля используя trust-авторизацию (по имени системного пользователя).

Спасибо огромное!

del.

Я слоупок.

Ошибка при выполнении этих команд. Непонятная для меня.


defond=> create extension postgis;
ERROR:  could not open extension control file "/usr/share/postgresql/9.1/extension/postgis.control": Нет такого файла или каталога
defond=> alter table spatial_ref_sys owner to defond;
ERROR:  relation "spatial_ref_sys" does not exist
defond=> alter view geometry_columns owner to defond;
ERROR:  relation "geometry_columns" does not exist
defond=> alter view geography_columns owner to defond;
ERROR:  relation "geography_columns" does not exist
defond=> alter view raster_columns owner to defond;
ERROR:  relation "raster_columns" does not exist
defond=> alter view raster_overviews owner to defond

Эта ошибка возникает из-за отсутствия PostGis… О_о Как так - не пойму! ПостГис ставил и через центр приложений и через пакеты и через репу.

Вот подробная инструкция решения данного вопроса - http://stackoverflow.com/questions/18696078/postgresql-error-when-trying-to-create-an-extension

Файл по данному пути есть.

Сейчас буду проверять права доступа. Больше не знаю как реагировать.

Ошибся. Файла

"/usr/share/postgresql/9.1/extension/postgis.control"

действительно нет. О_о

В шестой раз попробовать переставить ПостГис?

Через ккую репу?

Сносите то что есть и проверяйте что добавили репы которые указаны на сайте постгрешки и постгиса

https://wiki.postgresql.org/wiki/Apt

Заодно и версию последнюю поставите. Только удостоверьтесь что точно старую версию с настройками грохнули, а то встанет рядышком и на другом порту.

Понял.

Спасибо!

Приступил.

Здесь описана тлько установка постгрешки и пджАгента.

ПостГис ставлю с оффсайта.

Все работает.

Низкий Вам поклон добрые люди! :):):slight_smile: Прям не ожидал, если честно. Точные ответы, все оперативно. Я под впечатлением.

Ушел изучать shp2pgsql.

Если есть интересные инструкции и примеры - буду рад!