Skip to content

Posts tagged ‘postgres’

29
Set

ligar postgres com PHP

Arquivos de Configuração

O post­gres pos­sui basi­ca­mente 2 arquivos de con­fig­u­rações respon­sáveis pela conexão, eles são:

  1. postgresql.conf aqui você pre­cisa definir que o seu banco de dados irá rece­ber conexão através de TCP/IP, até a ver­são 7.9 do post­gres esta con­fig­u­ração era feita assim:
    tcpip_socket = true

    A partir da versão 8 isso é feito assim: listen_addresses = ‘*’ port = 5432

  2. pg_hba.conf este é o arquivo que define quem pode aces­sar o que e de qual forma: para per­mi­tir que qual­quer IP possa aces­sar qual­quer banco adi­cione esta linha no arquivo host    all          all         0.0.0.0 0.0.0.0       pass­word Se quiser que ape­nas 1 IP especí­fico possa aces­sar a máquina então host    all          all         200.200.200.200/32      pass­word A palavra pass­word define que para você aces­sar o banco tem que dig­i­tar a senha, existe a palavra trust que diz ao banco para nao pedir senha então tenha cuidado com este tipo de configuração

Após mexer nestes dois arquivos reini­cie o banco. Para aces­sar o seu banco através do ter­mi­nal use o comando: psql –h 200.200.200.200 –U post­gres –d banco Fique atento aos fire­wall pois eles podem bar­rar a sua conexão com o banco, e mais uma dica para que a conexão possa ser esta­b­ele­cida no Cen­tOS é necessário desati­var o SELinux, que por padrão na insta­lação fica ati­vado: vim /etc/sysconfig/selinux e con­fig­ure  o SELINUX=disabled

Exem­plo de Conexão PHP para Teste

try {
	$db = new PDO("pgsql:host=localhost dbname=datacentro user=postgres password=data1234");

	$sql = 'SELECT * FROM pessoa';
	foreach ($db->query($sql) as $row) {
		print $row['cod'] . "\t";
		print $row['nome'] . "\t";
	}

} catch (PDOException  $e) {
   print $e->getMessage();
}
die("fim");

Refer­ên­cia

http://battisti.etc.br/2009/09/28/postgres-permission-denied-is-server-running/http://www.cyberciti.biz/faq/postgresql-remote-access-or-connection/

http://dickrips.wordpress.com/2009/01/16/apache-php-postgresql-no-centos-e-fedora

Bad Behavior has blocked 22 access attempts in the last 7 days.