Postgres Osm2pgsql错误:角色不存在

nix*_*nix 4 postgresql openstreetmap

我一直在设置osm2pgsql来转换.osm文件以便在Postgres中使用.我现在尝试了以下声明:

osm2pgsql --merc -d sa sa.osm

我收到以下错误:"连接到数据库失败:致命:角色"myUsername"不存在

我已经阅读了这种在使用Postgres时经常遇到的错误.我在Postgres中创建了一个新角色但仍然存在错误.

有什么建议?

Grz*_*ski 10

您没有指定-U|--usernameswitch,因此osm2pgsql从终端获取当前用户名(除非您设置PGUSER环境变量).错误消息看起来非常清楚,告知myUsername您的数据库cluser中不存在已命名的角色.注意:

CREATE ROLE myUsername LOGIN;    -- creating role myusername
CREATE ROLE "myUsername" LOGIN;  -- creating role myUsername
Run Code Online (Sandbox Code Playgroud)

将产生两种不同的角色:

SELECT rolname FROM pg_roles;
  rolname   
------------
 postgres
 myUsername
 myusername
(3 rows)
Run Code Online (Sandbox Code Playgroud)