Acesso remoto ao PostgreSQL: o que dá, e o que não dá

O PostgreSQL corre nos nossos servidores, o cPanel tem as ferramentas dele, e um site em PHP pode falar-lhe. Há duas coisas a saber antes de começar, e nenhuma delas é óbvia: o controlador do PHP vem desligado e liga-se num ecrã do painel, e de fora não se entra directamente, entra-se por um túnel. Este artigo trata das duas.

O que existe, e em que estado

Peça Estado
O serviço PostgreSQL Existe e está a correr.
Criar bases e utilizadores No cPanel, no ecrã das bases de dados PostgreSQL. Funciona como o do MySQL: uma base, um utilizador, e a ligação entre os dois.
Uma ferramenta pelo navegador O phpPgAdmin, também no cPanel. É o equivalente ao phpMyAdmin.
O controlador no PHP do site Existe, mas vem desligado. Está na lista de extensões do Select PHP Version, e liga-se com uma caixa. Ver a secção seguinte.
Ligação directa da internet à porta da base Não. O serviço só atende dentro da própria máquina, e a porta não está aberta ao exterior.
Uma lista de endereços autorizados, como a do MySQL Não existe no ecrã do PostgreSQL. Não está escondida: não há.

Ligar o controlador, para o seu site em PHP lhe falar

Se o que quer é que uma aplicação em PHP leia e escreva na base, o passo é este, e não demora dois minutos. Não precisa de nos pedir nada.

1 No cPanel, abra o Select PHP Version, na secção de software.
2 Confirme primeiro a versão de PHP que está escolhida. As extensões ligam-se por versão: se mudar de versão depois, a lista volta ao que era e tem de marcar outra vez. É a causa número um de «funcionava e deixou de funcionar».
3 Na lista de extensões, marque o controlador do PostgreSQL e grave. Há normalmente dois nomes na lista, um para a ligação directa e outro para a camada genérica de acesso a bases: se a sua aplicação usa a camada genérica, marque os dois.
4 Confirme numa página de informação do PHP que ele aparece mesmo carregado. Marcar a caixa não chega como prova. Como se faz: ver e ajustar a configuração do PHP.
Se o seu projecto ainda está por decidir, pense duas vezes. Tudo o que está à volta de um site aqui, das cópias às ferramentas, foi desenhado à volta do MySQL, que é o que a esmagadora maioria usa. O PostgreSQL funciona; só tem menos rede de segurança à volta. Se não há uma razão concreta para o escolher, o MySQL dá-lhe menos trabalho.

Chegar à base de fora: o túnel SSH

Para o pgAdmin, o DBeaver ou o psql no seu computador, a ligação directa não serve, porque a base só atende dentro da máquina. Um túnel SSH resolve: liga-se à máquina pela porta de SSH, que aqui é a 2299, e faz com que uma porta do seu computador passe a apontar para a base lá dentro.

1 Confirme que a sua conta tem SSH. No cPanel, procure Terminal ou SSH Access. Se não houver nenhum dos dois, o seu plano não tem shell ligada e tem de nos pedir.
2 Crie a base e o utilizador no cPanel, e ligue um ao outro. Sem essa ligação o utilizador entra e não vê nada.
3 Abra o túnel a partir do seu computador: ssh -p 2299 -L 5433:localhost:5432 utilizador@servidor . Deixe a janela aberta: enquanto ela viver, o túnel vive.
4 Ligue a ferramenta ao seu próprio computador. Servidor 127.0.0.1 e porta 5433. O utilizador e a palavra-passe são os da base, os que criou no cPanel.
O 5433 não tem nada de especial. É só uma porta livre no seu computador, escolhida para não chocar com um PostgreSQL que possa ter instalado localmente. Se não tiver nenhum, use 5432 dos dois lados. O número da esquerda é o seu; o da direita é o do servidor.

O pgAdmin também sabe fazer o túnel sozinho, no separador de SSH da ligação. É mais cómodo e poupa-lhe a janela aberta. Os campos são os mesmos: máquina, porta 2299, utilizador do cPanel.

Não repita tentativas falhadas de SSH. O firewall conta as falhas e ao fim de algumas tranca o endereço de onde vêm, o que lhe corta também o site e o e-mail. Se errar duas vezes, pare e confirme os dados. Se já ficou trancado: como desbloquear o seu endereço de IP.

E se só quero consultar uma coisa?

Então nem precisa de túnel. Entre por SSH e use o psql lá dentro, que está instalado e vê-se da sua conta. Para uma consulta rápida ou para correr um ficheiro de comandos, é o caminho mais curto de todos. E para olhar para as tabelas sem escrever SQL, o phpPgAdmin resolve, sem instalar nada.

Cópias: confirme, não presuma

As cópias de segurança da conta foram pensadas à volta do que a maioria dos sites usa. Se pôs dados a sério numa base PostgreSQL, exporte-a também você, com regularidade, e guarde a exportação fora do servidor. O hábito está em fazer e guardar a sua própria cópia. E confirme connosco o que está mesmo a ser copiado antes de depender disso.

Tem um projecto que precisa de PostgreSQL e quer confirmar que assenta aqui? Diga-nos o que ele faz.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Servidor VPS: quando os limites passam a ser seus

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 9.000,00 Kz/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?