我正在摇晃凤凰应用,当我尝试运行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
答案 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|
+---+----------+-------+----+------+
。
因此,我最后得到了一块格式正确的代码,除了环境变量名称中的错字(代码编辑器未对它们加下划线)。