PostgreSQL pg_hba.conf com autenticação de “senha” não funcionaria com PHP pg_connect?

2

Eu recentemente experimentei as configurações no pg_hba.conf. Eu li a documentação do PostgreSQL e pensei que o método de autenticação "senha" é o que eu quero. Há muitas pessoas que têm acesso ao servidor no qual o PostgreSQL está trabalhando, então não quero o método "trust". Então eu mudei. Mas então o PHP parou de funcionar com o banco de dados.

A mensagem que recebo é "Atenção: pg_connect (): Não é possível conectar ao servidor PostgreSQL: FATAL: autenticação de senha falhou para o usuário" myuser "em /my/path/to/connection/class.php na linha 35". É meio estranho porque eu posso conectar via phppgadmin sem problemas e também posso conectar do meu computador de casa com o psql - novamente sem problemas.

Este é o meu pg_hba.conf:

# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     password
# IPv4 local connections:
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
host    all             all             ::1/128                 password

A string de conexão que estou usando com pg_conenct é:

$connect_string = "host=localhost port=5432 dbname=mydbname user=auser password=apassword";
$dbConnection = pg_connect($connection_string);

Alguém sabe por que isso está acontecendo? Eu confiei algo errado?

    
por tftd 20.02.2011 / 03:39

1 resposta

2

Parece que, quando você tem uma senha que contém barras (\ /), é necessário escapá-las na URL de conexão pg_connect. Depois de escapar que eu não tive problemas para se conectar ao banco de dados via php. Espero que isso ajude alguém a ter este problema:)

    
por 22.02.2011 / 02:34