Como acessar o banco de dados PostgreSQL do meu domínio usando PHP?

A seguir, apresentamos um exemplo de script PHP para conexão a um banco de dados PostgreSQL e exibição de resultados em HTML.

<?php
// Configurações de conexão
$host = "pgsql.<dominio>";
$dbname = "<banco_de_dados>";
$user = "<usuario>";
$password = "<senha>";

// Estabelece a conexão
$db = pg_connect("host=$host dbname=$dbname user=$user password=$password");

if (!$db) {
die("Erro ao conectar ao banco de dados.");
}

// Consulta SQL
$query = "SELECT * FROM <tabela>";

// Executa a consulta
$result = pg_query($db, $query);

if (!$result) {
die("Erro na consulta: " . pg_last_error($db));
}

// Exibe os resultados em formato de tabela HTML
echo "<table border='1' cellpadding='5' cellspacing='0'>";
while ($line = pg_fetch_assoc($result)) {
echo "<tr>";
foreach ($line as $col_value) {
echo "<td>" . htmlspecialchars($col_value) . "</td>";
}
echo "</tr>";
}
echo "</table>";

// Libera a memória e fecha a conexão
pg_free_result($result);
pg_close($db);
?>

Observações importantes

  • Segurança: Evite armazenar credenciais diretamente no código. Sempre que possível, utilize variáveis de ambiente ou arquivos de configuração fora do diretório público.
  • Proteção contra XSS: A função htmlspecialchars() foi adicionada para evitar a execução de códigos maliciosos no navegador.
  • Validação de erros: Agora o script verifica se houve falha na conexão ou na execução da consulta.
  • Manutenção: Mantenha o PHP e o PostgreSQL atualizados para evitar vulnerabilidades de segurança.

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de odificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.