我想用Erlang和epgsql执行简单的PostgreSQL查询,如Erlang and PostgreSQL。但wnen发出以下代码:通过pgsql(Erlang)连接到PostgreSQL
{ok, C} = pgsql:connect("localhost",
"postgres",
"nevermind",
[{database, "postgres"}]).
我得到这个错误:
** exception error: no match of right hand side value
{error,
{authentication,
[{severity,'Ð\222Ð\220Ð\226Ð\235Ð\236'},
{code,"28000"},
{message,
[208,191,208,190,208,187,209,140,208,183,208,
190,208,178,208,176,209,130,208,181|...]},
{file,"auth.c"},
{line,302},
{routine,"auth_failed"}]}}
PostgreSQL的工作,我可以添加表到我的数据库或做简单的查询。但我需要用Erlang来做。更重要的,我不能在列表中阅读完整的错误消息:
[208,191,208,190,208,187,209,140,208,183,208,190,208,178,208,176,209,130,208,181|...]
错误消息告诉您,不是返回{ok,C},连接失败并返回认证错误。到目前为止,我无法帮到你,但你应该看看连接参数和认证数据。如果你有源代码,也许你可以通过阅读302行附近的文件auth.c获得更多的信息。 – Pascal
这是一个PostgreSQL错误28000 INVALID AUTHORIZATION SPECIFICATION。你确定你提供了正确的用户名吗? – Vinod
我认为第三个参数必须是用户名,但在教程中第三个参数是密码。那么第二个参数是什么? –