Não é realmente uma resposta, mas funciona. Na próxima atualização do Windows Creators, o WSL permite instalar e executar o servidor PostgreSQL no mesmo ambiente. Desta forma, nenhuma conexão de soquete é necessária.
Eu não vi o erro desde então.
Configuração: PostgreSQL no Windows 10; PHP7 executando um aplicativo Symfony3 (um stub) no PowerShell ou via Bash no Windows (WSL). Eu não tenho nenhum software antivírus ou firewall diferente do Windows.
Erro: 1 de 10 vezes Eu executo um clique no aplicativo da Web, o depurador do symfony mostrará:
An exception occured in driver: SQLSTATE[08006] [7] server closed the connection unexpectedly
This probably means the server terminated abnormally before or while processing the request.
500 Internal Server Error - ConnectionException, 2 linked Exceptions: PDOException » PDOException »
Nos registros do servidor PostgreSQL, ele diz:
2017-03-15 02:26:58 CST LOG: incomplete startup packet
2017-03-15 02:27:04 CST LOG: could not receive data from client: An operation was attempted on something that is not a socket.
Tentativas: já configurei o firewall do Windows para permitir que o postgresql.exe passe pela porta 5432. Tentei executar o servidor php7 tanto do Powershell quanto do Bash no Windows, mas com os mesmos resultados .
Não é realmente uma resposta, mas funciona. Na próxima atualização do Windows Creators, o WSL permite instalar e executar o servidor PostgreSQL no mesmo ambiente. Desta forma, nenhuma conexão de soquete é necessária.
Eu não vi o erro desde então.
Tags bash php postgresql powershell