Estou utilizando o Linux Debian Buster, porém esse tutorial serve também para versões anteriores e posteriores.
apt-cache search --names-only 'postgresql-[0-9]{1,2}.[0-9]{1,}$|postgresql-[0-9}{1,2}$'
Os pacotes serão listados abaixo como no exemplo da imagem:
Caso nenhum pacote seja encontrado, fique tranquilo!
Vamos adicionar o repositório do PostgreSQL:
echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Para outras versões do Debian ou outros Linux acesse:
https://www.postgresql.org/download/linux/debian/
Verifique novamente os pacotes PostgreSQL disponíveis.
Como já estava com as versões 11 e 12 instaladas no meu computador de testes estarei instalando a versão 10. Todas versões seguem o mesmo padrão de instalação básica. Recomendo que instale sempre a versão mais recente!
sudo apt-update & sudo apt install postgresql-10 postgresql-client-10 postgresql-client-common postgresql-common postgresql-contrib
Caso o processamento pare em alguns momentos com algum informativo ou configuração basta apertar enter para prosseguir e manter as configurações padrões e iniciais.
Para disponibilizar acesso externo deve modificar 2 arquivos de configurações.
pg_hba.conf
Normalmente fica em /etc/postgresql/versao/main/pg_hba.conf
Nesse caso está em: /etc/postgresql/10/main/pg_hba.conf
Deve adicionar o IP que deseja liberar o acesso remoto. Exemplo:
host all all 0.0.0.0/0 md5
Onde:
Entre vários outros detalhes do arquivo que podem ser observado na documentação oficial:
https://www.postgresql.org/docs/current/auth-pg-hba-conf.html
posgresql.conf
Vamos alterar a seguinte linha para dar permissão£o de acesso externo.
Normalmente fica em /etc/postgresql/versao/main/postgresql.conf .
Nesse caso /etc/postgresql/10/main/postgresql.conf .
Anote e porta utilizada, no meu caso é a 5432 que pe a porta padrão.
Vamos alterar esse linha:
#listen_address = 'localhost' #what IP address(es) to listen on;
Para esta linha abaixo:
listen_address = '*' #todos os endereços ou os endereços permitidos;
Foi retirado # para descomentar a linha, substituido localhost por * que significa qualquer IP.
Pode também©m adicionar IP específicos, para informações mais detalhadas sobre o postgresql.conf acesse:
https://www.postgresql.org/docs/12/runtime-config-connection.html
Reinicie o PostgreSQL.
sudo systemctl restart postgresql
Rede LAN
Necessário configurar encaminhamento de porta "port forwarding" em todos os roteadores até chegarem no computador PostgreSQL e o modem externo.
Verifique que nem todas as operadoras permitem esse tipo de configuração em seus modens tornando o processo inacessível!
Como existem muitos roteadores no mercado não conseguirei dar explicações detalhadas!
Posso adiantar que a porta anotada que comentei ali em cima, no meu caso 5432 é a porta que vai ser redirecionada para o computador com o PostgreSQL.
Caso necessite de mão de obra especializada entre em contato com o Sysborg.
4. Configurando primeiro acesso
Vamos mudar o usuário que estamos utilizando o terminal com o comando abaixo:
su postgres
Em seguida vamos conectar no PostgreSQL através do psql.
psql -p 5432
Vamos criar um super usuário.
Recomendável criar um super usuário e utilizar o postgres somente em peer, aumenta e muito a segurança do seu banco de dados.
CREATE ROLE super_usuario WITH LOGIN SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;
ALTER ROLE super_usuario PASSWORD 'senha_desejada';
Basta logar no seu administrador de banco de dados favorito, por exemplo PGAdmin.
Espero ter ajudado e até o próximo artigo.
Seja o primeiro a comentar o nosso artigo!