Neste post, descrevemos como se conectar remotamente no Postgresql, utilizando o Google Cloud VM Debian.
1º) Acessar a instância da VM através do menu: Compute Engine => Instâncias da VM
2º) Escolha a instância em que está instalado o Debian e se conecte via SSH. Veja a imagem abaixo:
3º) Será aberto o terminal, em seguida, faça a autenticação no debian, como root. Para se autenticar utilizar, utilize o comando:
su
Veja a imagem abaixo:
Autenticação no Debian |
4º) Se autenticar no cliente psql, neste caso foi feita a autenticação com o usuário "postgres" e o banco de dados "postgres", utilize o comando:
sudo -u nome_usuario psql nome_banco
sudo -u postgres psql postgres
5º) Localize o diretório onde se encontra o arquivo "pg_hba.conf". Utilize o comando:
SHOW hba_file
Veja a imagem:
6º) Localize o diretório onde se encontra o arquivo "postgresql.conf". Utilize o comando:
SHOW config_file
Veja a imagem:
7º) Saia do cliente psql. Veja o comando:
\q
8º) Após localizar o diretório do arquivo "pg_hba.conf", vamos editá-lo. Podemos utilizar um editor de texto. Exemplo: "nano" ou "vi".
Neste, exemplo será utilizado o "nano". Utilize o comando abaixo:
nano /etc/postgresql/9.6/main/pg_hba.conf
Veja a imagem abaixo:
9º) No arquivo "pg_hba.conf", localize "127.0.0.1/32", ou seja, o ip 127.0.0.1 e mascara 32.
Após localizar o IP, nós vamos substituí-lo de acordo com o tipo de conexão desejada:
- Para aceitar conexão de qualquer ip: substitua o ip 127.0.0.1/32 pelo ip 0.0.0.0/0. Para fechar o editor "Nano", pressione as teclas "CTRL+X". Em seguida, será exibida uma pergunta confirmando se você deseja salvar, pressione a tecla "y" para salvar ou a tecla "n" para desistir das alterações. Veja a imagem a seguir:
- Para restringir a conexão a uma determinada faixa de ips: substitua o ip 127.0.0.1 pelo ip desejado, neste exemplo foi utilizado o ip 192.168.64.2/24, poderia ser um outro ip. Para sair do editor "Nano", pressione as teclas "CTRL+X". Em seguida, será exibida uma pergunta, confirmando se você deseja salvar, pressione a tecla "y" ou a tecla "n" para desistir das alterações. Veja a imagem a seguir:
10º) Após localizar o diretório do arquivo "postgresql.conf", vamos editá-lo.
nano /etc/postgresql/9.6/main/postgresql.conf
Veja a imagem abaixo:
13º) Escolher a quantidade de conexões, no padrão de instalação, o máximo são 100 conexões. O número de conexões é armazenado no parâmetro "max_connections".
Neste exemplo, vamos alterar o número de conexões 100 para 120.
14º) Alterar o parâmetro, "shared_buffers", que determina quanta memória é dedicada para o Postgresql para o caching de dados. Por padrão, está configurado com 128 MB.
Se o seu sistema tem 1GB ou mais de RAM, o parametro "shared_buffer" deve estar configurado para utilizar 25% da memoria total. Neste exemplo, o sistema possui 2 GB, então vamos utilizar 512 MB para o parâmetro, shared buffer.
Se o seu sistema possui menos de 1GB de RAM, você deve utilizar aproximadamente 15% da sua memória RAM.
15º) Reinicie o serviço do postgresql
sudo service postgresql restart
16º) No Google Cloud VM, vamos clicar no item de menu "Regras de firewall". Veja a imagem abaixo:
17º) Em seguida clique no link "Criar Regra de Firewall", no topo da pagina.
18º) Será aberto o formulário, através do qual poderemos liberar a porta padrão 5432 do Postgresql, ou uma outra porta, conforme sua necessidade.
19º) Deverão ser preenchidos os seguintes campos:
20º) Agora vamos acessar a instância da VM através do menu:
21º) Clique na instância "DEBIAN". Veja a imagem abaixo:
22º) Clique em "Editar"instância. Veja a imagem abaixo:
23º) No campo "Tags de rede", adicionar a tag "pg", esta tag foi incluída na regra do firewall (15º passo). Ver imagem abaixo:
24º) Clique no botão "Salvar". Ver imagem abaixo:
- Campo nome:
- Preencha a tag e um IP:
- Preencha o protocolo e a porta: repare que devemos separar o protocolo e a porta com ":"
protocolo:porta
- Clique no botão salvar
20º) Agora vamos acessar a instância da VM através do menu:
Compute Engine => Instâncias da VM
21º) Clique na instância "DEBIAN". Veja a imagem abaixo:
22º) Clique em "Editar"instância. Veja a imagem abaixo:
23º) No campo "Tags de rede", adicionar a tag "pg", esta tag foi incluída na regra do firewall (15º passo). Ver imagem abaixo:
24º) Clique no botão "Salvar". Ver imagem abaixo:
25º) Clique no link no formato de "seta". para voltar a visualizar página inicial. Ver imagem abaixo:
26º) Observe na página inicial, o ip externo da sua estância, neste caso é o ip 35.202.119.38 que será utilizado para fazer a conexão remota.
27º) Agora, após a finalização da configuração da VM, será feita a conexão remota. Vamos utilizar o PgAdmin para efetuar a conexão.
Primeiramente, clique com o botão direito em "Server", selecione o menu "Create", em seguida, selecione o submenu "Server".
28º) Será exibido um formulário. Vamos preencher alguns campos da aba "General" e da aba "Connection" com as configurações do servidor:
26º) Observe na página inicial, o ip externo da sua estância, neste caso é o ip 35.202.119.38 que será utilizado para fazer a conexão remota.
Primeiramente, clique com o botão direito em "Server", selecione o menu "Create", em seguida, selecione o submenu "Server".
28º) Será exibido um formulário. Vamos preencher alguns campos da aba "General" e da aba "Connection" com as configurações do servidor:
- Aba General: vamos escolher um nome para a conexão remota, neste exemplo eu escolhi "REM", mas poderia ser qualquer outro nome.
- Aba Connection: preencha o ip, a porta, o nome do banco, o usuário e a senha, em seguida clique no botão "Salvar". Veja a imagem abaixo:
29º) A conexão remota foi efetuada com sucesso. Veja imagem abaixo:
Excelente dica, qual fonte voce usou para colocar nas dicas ??
ResponderExcluirgrato
Fico feliz por ter gostado. Segue a fonte:
Excluirhttps://cloud.google.com/community/tutorials/setting-up-postgres
Faltou um passo após editar os arquivos você deve reiniciar o servidor do postgre. A noite complementarei o tutorial.
ExcluirAtualizei o tutorial, inclui o comando para reiniciar o serviço do postgresql:
Excluirsudo service postgresql restart