我想运行impsm将OSM数据导入PostGIS数据库。我的问题是DB的密码包含特殊字符,如":"(冒号(。我无法更改密码。
文档中指出要使用这样的连接参数:
-connection选项采用以下格式的URLpostgis://username:password@host:port/databasename或的列表像postgis:host=/tmp-dbname=osm-这样的参数
但是,由于密码中的特殊字符,这会产生错误。
parsing database connection URL: parse "postgres://user:pss?wo:r?d!@host/osm": invalid port ":r?d" after host
文档中还规定使用参数列表,但我不清楚这些参数必须如何命名。
有人知道如何用列表而不是URL加密来传递连接参数吗?我只能找到host
和dbname
,我不知道如何编写连接。或者是否有可能转义URL中的特殊字符?
您必须对特殊字符进行编码。
如果您的密码是pss?wo:r?d!
,则连接URL将是
postgresql://user:pss%3Fwo%3Ar%3Fd%21@host/osm