由于特殊字符,imposm 的连接参数失败
Connection parameters for imposm fail because of special characters
我想 运行 imposm 将 OSM 数据导入 PostGIS 数据库。
我的问题是数据库的密码包含特殊字符,如“:”(冒号)。我无法更改密码。
文档说明使用这样的连接参数:
The -connection option takes a URL in the format
postgis://username:password@host:port/databasename or a list of
parameters like 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?
中转义特殊字符
您必须 encode 特殊字符。
如果您的密码是 pss?wo:r?d!
,连接 URL 将是
postgresql://user:pss%3Fwo%3Ar%3Fd%21@host/osm
我想 运行 imposm 将 OSM 数据导入 PostGIS 数据库。 我的问题是数据库的密码包含特殊字符,如“:”(冒号)。我无法更改密码。
文档说明使用这样的连接参数:
The -connection option takes a URL in the format postgis://username:password@host:port/databasename or a list of parameters like 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?
您必须 encode 特殊字符。
如果您的密码是 pss?wo:r?d!
,连接 URL 将是
postgresql://user:pss%3Fwo%3Ar%3Fd%21@host/osm