Postgres Osm2pgsql Ошибка: роль не существует - PullRequest
3 голосов
/ 26 августа 2011

Я настраивал osm2pgsql, чтобы конвертировать файлы .osm для использования в Postgres. Сейчас я попробовал следующее утверждение:

osm2pgsql --merc -d sa sa.osm

Мне выдается следующая ошибка: «Ошибка подключения к базе данных: FATAL: роль« myUsername »не существует

Я прочитал об ошибке такого рода, которая обычно встречается при использовании Postgres. Я создал новую роль в Postgres, но ошибка все еще сохраняется.

Есть предложения?

Ответы [ 2 ]

10 голосов
/ 26 августа 2011

Вы не указали переключатель -U|--username, поэтому osm2pgsql получает текущее имя пользователя из терминала (если не установлена ​​переменная окружения PGUSER). Сообщение об ошибке выглядит очень ясно, сообщая, что роль с именем myUsername не существует в вашей базе данных cluser. Обратите внимание, что:

CREATE ROLE myUsername LOGIN;    -- creating role myusername
CREATE ROLE "myUsername" LOGIN;  -- creating role myUsername

создаст две разные роли:

SELECT rolname FROM pg_roles;
  rolname   
------------
 postgres
 myUsername
 myusername
(3 rows)
1 голос
/ 20 апреля 2014

Я знаю, что это старый вопрос, но в OSM все изменилось, и этот ответ, похоже, находится в верхней части поиска Google

Используйте это:

/usr/bin/install-postgis-osm-user.sh the-database-here your-username-here

например

/usr/bin/install-postgis-osm-user.sh gis barrythefish
...