导入的连接参数由于特殊字符而失败



我想运行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加密来传递连接参数吗?我只能找到hostdbname,我不知道如何编写连接。或者是否有可能转义URL中的特殊字符?

您必须对特殊字符进行编码。

如果您的密码是pss?wo:r?d!,则连接URL将是

postgresql://user:pss%3Fwo%3Ar%3Fd%21@host/osm

最新更新