错误:启动数据包

时间:2016-09-02 03:54:52

标签: database postgresql phoenix-framework

我正在摇晃凤凰应用,当我尝试运行mix ecto.migrate时,我遇到以下错误:

GenServer #PID<0.181.0> terminating
** (Postgrex.Error) FATAL (invalid_authorization_specification): no PostgreSQL user name specified in startup packet
    (db_connection) lib/db_connection/connection.ex:148: DBConnection.Connection.connect/2
    (connection) lib/connection.ex:622: Connection.enter_connect/5
    (stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
Last message: nil
State: Postgrex.Protocol

那里有一些Q&amp; A触及了这个特殊错误,但遗憾的是我还没有发现它们有用。所以我转到这里!

其他环境信息:Mac OS X,Postgres.app,PG版本9.5

3 个答案:

答案 0 :(得分:2)

从客户端发送到服务器的 StartupMessage 必须包含非空用户名;正如the documentation所说:

  

StartupMessage(F)

     

[...]

     

协议版本号后跟一对或多对参数名称和值字符串。在最后一个名称/值对之后,需要一个零字节作为终止符。参数可以按任何顺序出现。用户是必需的,其他是可选的。 [...]

我的猜测是你指定了一个空的用户名。

答案 1 :(得分:0)

如果您没有创建新用户,则默认值为您的mac用户名和密码。

这来晚了,但我希望对别人有帮助。

答案 2 :(得分:0)

仔细检查您的环境变量的错字,在我的情况下,我使用PSQLS_USERNAME作为环境变量,并在连接行中使用了PSQL_USERNAME(因为我从POSTGRES重命名为PSQL以使其更短),因此使用了+---+----------+-------+----+------+ | id|tim |price | qty|qtyChg| +---+----------+-------+----+------+ | 1| 31951.509| 0.370| 1| 1| | 2| 31951.515|145.380| 100| 100| | 3| 31951.519|149.370| 100| 100| | 4| 31951.520|144.370| 100| 100| | 5| 31951.520|119.370| 5| 5| | 6| 31951.520|149.370| 300| 200| | 7| 31951.521|149.370| 400| 100| | 8| 31951.522|149.370| 410| 10| | 9| 31951.522|149.870| 50| 50| | 10| 31951.522|109.370| 50| 50| | 11| 31951.522|144.370| 400| 300| | 12| 31951.524|149.370| 610| 200| | 13| 31951.526|135.130| 22| 22| | 14| 31951.527|149.370| 750| 140| | 15| 31951.528| 89.370| 100| 100| | 16| 31951.528|145.870| 50| 50| | 17| 31951.528|139.370| 100| 100| | 18| 31951.531|144.370| 410| 10| | 19| 31951.531|149.370| 769| 19| | 20| 31951.538|149.370| 869| 100| | 21| 31951.538|144.880| 200| 200| | 22| 31951.541|139.370| 221| 121| | 23| 31951.542|149.370|1199| 330| | 24| 31951.542|139.370| 236| 15| | 25| 31951.542|144.370| 510| 100| | 26| 31951.543|146.250| 50| 50| | 27| 31951.543|143.820| 100| 100| | 28| 31951.543|139.370| 381| 145| | 29| 31951.544|149.370|1266| 67| | 30| 31951.544|150.000| 50| 50| | 31| 31951.544|137.870| 300| 300| | 32| 31951.544|140.470| 10| 10| | 33| 31951.545|150.000| 53| 3| | 34| 31951.545|140.000| 25| 25| | 35| 31951.545|148.310| 8| 8| | 36| 31951.547|149.000| 20| 20| | 37| 31951.549|143.820| 102| 2| | 38| 31951.549|150.110| 75| 75| +---+----------+-------+----+------+

因此,我最后得到了一块格式正确的代码,除了环境变量名称中的错字(代码编辑器未对它们加下划线)。