pg-promise 不理解 UTF 密码?.. 我无法使用它们。在 linux 和 osx 上尝试过,postgres 9.3、9.5 - 似乎并不特定于版本。看了看代码。pg-promise 使用pg,它使用基于 back pg构建的pg-connect-string。找不到问题的根源。请帮忙。
重现代码:
MacBook-Air:js vao$ cat 2.js
var pgp = require("pg-promise")(); var cs = 'postgresql://utf:утф@127.0.0.1:5433/a'; var db = pgp(cs); db.connect() .then(function (obj) { obj.done(); // success, release the connection; }) .catch(function (error) { console.log("ERROR:", error.message || error); }); console.log(cs);
返回:
MacBook-Air:js vao$ node 2.js
postgresql://utf:утф@127.0.0.1:5433/a ERROR: password authentication failed for user "utf"
使用相同的连接字符串psql
:
MacBook-Air:js vao$ psql 'postgresql://utf:утф@127.0.0.1:5433/a'
psql (9.5.3) Type "help" for help. a=> \q
使用相同的连接字符串故意尝试错误的密码:
MacBook-Air:js vao$ psql 'postgresql://utf:утфWrongPassword@127.0.0.1:5433/a'
psql: FATAL: password authentication failed for user "utf" MacBook-Air:js vao$