Como enviar um pedido para o servidor Pgpool2 a partir do script php?

0

Na verdade, estou tentando criar um sistema de replicação postgres usando pgpool2 e contêineres docker, criei 2 contêineres executando postgres e outro contêiner para pgpool2, então quando tentei me conectar ao servidor pgpool2 através do script php, recebi o seguinte erro:

pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection refused

    
por Abdessamad Elouarti 21.09.2017 / 20:08

1 resposta

0

Eu não trabalhei com o Docker antes ... mas ...

Na maioria das configurações padrão, o postgresql não permite conexões não locais. Para permitir conexões remotas, você precisará adicionar uma linha 'host' no seu arquivo pg_hba.conf.

Normalmente esse arquivo é em algum lugar como:

/etc/postgresql/9.6/main/pg_hba.conf

Algo parecido com isto:

#TYPE   DATABASE     USER         ADDRESS      AUTH METHOD
host    database1    user1     192.168.1.0/24      md5

Em seguida, reinicie seu cluster postgresql, via /etc/init.d/postgresql restart ou o que for apropriado para o seu SO.

Você deve poder ver a porta aberta em seu host remoto, via:

netstat -l

Se você fez isso corretamente, os endereços devem mudar de 'localhost' para 0.0.0.0.

Você também precisará adicionar 'user1' como um usuário do postgresql com uma senha e criar um banco de dados para esse usuário tocar.

Isto pode ser conseguido tornando-se o superusuário do postgresql através de algo como isto:

sudo -s
#su postgres
postgres@host$ createuser user1 -P
     enter in a password
postgres@host$ createdb database1 -O user1

E então você deve poder se conectar ao seu cluster remoto postgresql através de um comando local de:

psql -h remote.host.address -U user1 -d database1

Naturalmente, todos os endereços IP são apenas ilustrativos. Faça as alterações conforme apropriado.

    
por 23.10.2017 / 23:36