使用postgres pg_dump命令时如何避免包含@的密码

15

我正在使用PostgreSQL,我创建了数据库、用户和密码,这是密码:

password = name&text@sob

我正在使用以下命令转储数据库,并且它在我拥有的其他数据库上工作:

pg_dump -Fc --no-acl --no-owner --dbname=postgresql://db_user:password@127.0.0.1:5432/db_name

但是,当使用包含&@的密码时,它无法正常工作:

pg_dump -Fc --no-acl --no-owner --dbname=postgresql://db_user:name&text@sob@127.0.0.1:5432/db_name

由于密码中的&@,因此它无法正常工作- 因此,我用\转义了&,但对于@,它无法正常工作- 有任何建议吗?

谢谢

2个回答

12

我的密码是elly@123i,应该使用什么编码方式 - 它不接受elly%40%31%32%33i...有什么建议吗? - sromit

9
您可以直接在连接字符串中编码符号,无需使用额外的URL参数。
--dbname=postgresql://db_user:name%26te‌​xt%40sob@127.0.0.1:5432/db_nam‌​e

要进行编码,可以使用Linux软件包gridsite-clientsw3页面或任何其他快速谷歌搜索返回的工具。 - Joe Eifert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接