Pg转储当用户名包含@符号



我的公司转移到Azure上托管Postgres。Azure需要一个"@"在Postgres用户名中,因此我的连接字符串现在是(注意:它有两个@):

MY_DB=postgres://somename@someserver_in_short:somepassword@someserver_in_long:5432/dbname?sslmode=require

当做pg_dump MY_DB > file.sql时,我得到一个错误:

pg_dump: error: connection to database "dbname" failed: invalid integer value "somepasswordsomedbnamemixedstring" for connection option "port"

我认为混淆是由于连接字符串现在有两个@s。有没有简单的方法来解决这个问题?

同事的解决方案:将username中的@替换为%40。