AndersonArruda

Artigos de tecnologia ao alcance de um clique!


Como instalar o PostgreSQL no Linux Debian?
linux debian linux PostgreSQL pgsql instalação database

Como instalar o PostgreSQL no Linux Debian?

20/06/2022 09:51

Estou utilizando o Linux Debian Buster, porém esse tutorial serve também para versões anteriores e posteriores.

Verificando os pacotes disponíveis do PostgreSQL Server

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.


Instalação do PostgreSQL

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.

  • postgresql-10: Servidor do PostgreSQL
  • postgresql-client-10: Programas front-end para o PostgreSQL 10
  • postgresql-client-common: Gerenciador de múltiplas versões do PostgreSQL client
  • postgresql-common: Gerenciador de múltiplas versões do PostgreSQL Server
  • postgresql-contrib: esse pacote disponibiliza vários recursos adicionais para o PostreSQL Server.
  • Large object maintenance LO
  • Dblink - Funções para retornar resultados de um banco de dados remoto
  • Foreign Data Wrapper para o PostgreSQL - postgresql_fdw
  • Somente alguns exemplos tem muitos outros recursos.


Disponibilizar acesso externo

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:

  • host: tipo de conexão
  • all: banco de dados, pode colocar um banco de dados específico também no lugar de all, onde all seria todos.
  • all: Usuário, pode colocar um usuário específico também no lugar de all, onde all seria todos.
  • 0.0.0.0/0: endereço de ip ou hostname que poderá ou não acessar
  • md5: modo de autenticação, dentre o md5 existem também:
  • trust: Permite a conexão sem nenhum tipo de condição, "irrestritamente".
  • reject: Rejeita a conexão sem nenhum tipo de condição, "irrestritamente".
  • scram-sha-256: Autentica o usuário com o senha criptografada em SCRAM-SHA-256
  • md5: Autentica o usuário com a senha criptografada em MD5.
  • password: Autentica o usuário com uma senha sem nenhum tipo de criptografia.
  • gss: Usa autenticação por GSSAPI.
  • sspi: Usa SSPI para autenticar o usuário.
  • ident: Utiliza o nome do usuário do sistema operacional do cliente para tentar fazer o login.
  • peer: Obtém o nome do usuário do sistema operacional e checa se confere com o nome do usuário do banco de dados requisitado.
  • ldap: Autentica usando LDAP Server.
  • radius: Autentica utilizando RADIUS Server.
  • cert: Autentica usando certificados de cliente SSL.
  • pam: Autentica utilizando Pluggable Authentication Modules (PAM) service.
  • bsd: Autentica utilizando BSD service.

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.


Configurando primeiro acesso

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.                

Espaço para publicidade
0 Comentário(s)
Seja o primeiro a comentar o nosso artigo!
Todos os direitos reservados. © 2021-2031
SBBlog Powered By Powered By Sysborg | Powered By Anderson Arruda