PostgreSQL
O PostgreSQL é um poderoso sistema de banco de dados objeto-relacional de código aberto conhecido por sua confiabilidade, robustez de recursos e desempenho.
Software incluído:
PostgreSQL - 15.2
Iniciando após a implantação do PostgreSQL:
Permita as portas no firewall somente para acesso SSH (porta 22, com limite de taxa) e para acesso remoto ao PostgreSQL (porta 5432). Conforme Como criar Regras de Firewall.
Você será desconectado da instância e exibido com a mensagem abaixo até que a instância seja implantada. NÃO FAÇA LOGIN NA INSTÂNCIA POR 2 MINUTOS APÓS A CRIAÇÃO.
Please wait until the installation is completed....Connection to $IPADDRESS closed.
Assim que o PostgreSQL for implantado:
Você pode fazer login na instância como ubuntu usando a senha que definiu quando criou a instância ou com uma chave SSH se adicionou uma durante a criação.
Você pode então trocar o usuário para root sem uma senha digitando o seguinte comando.
sudo su
A senha do usuário postgres é armazenada em /root/.postgresql_passwords
Faça login no postgres usando o comando abaixo.
sudo -u postgres psql
Por padrão, este servidor de banco de dados ouve apenas o localhost, para acessá-lo remotamente, precisamos fazer algumas alterações em seu arquivo de configuração. Podemos limitá-lo a alguns endereços IP específicos ou abri-lo para todos.
nano /etc/postgresql/15/main/postgresql.conf
No arquivo de configuração, sob a seção "CONNECTIONS AND AUTHENTICATION", encontre #listen_addresses - e primeiro, remova o # dado na frente dele.
Depois disso, substitua localhost pelo sinal de '*' para permitir que todos os endereços IP se conectem ao servidor de banco de dados,
From: #listen_addresses = 'localhost' # what IP address(es) to listen on; To: listen_addresses = '*' # what IP address(es) to listen on;
Enquanto para limitá-lo a alguns endereços IP específicos, digite-os em vez de '*'. Vários endereços devem ser separados por vírgulas,
From: #listen_addresses = 'localhost' # what IP address(es) to listen on; To: listen_addresses = '$IPADDRESS, $IPADDRESS' # what IP address(es) to listen on;
Salve o arquivo pressionando Ctrl+X, Y e pressionando a tecla Enter.
Em seguida, edite a seção de conexões locais IPv4 do arquivo pg_hba.conf para permitir conexões IPv4 de todos os clientes
nano /etc/postgresql/15/main/pg_hba.conf file.
From: # IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 To: # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256
Salve o arquivo pressionando Ctrl+X, Y e pressionando a tecla Enter.
Permita a porta 5432 no firewall para acesso remoto ao PostgreSQL.
Reinicie o serviço do PostgreSQL para aplicar as alterações:
systemctl restart postgresql
Tente acessar o banco de dados de um cliente remoto.
psql -h $IPADDRESS -U postgres
Neste exemplo, $IPADDRESS é o endereço IP do servidor de banco de dados
Para acesso remoto
Referente as senhas e o acesso, por padrão o usuário é o "postgres" e a senha é informada no momento da implantação da sua instância, como na imagem de exemplo abaixo -
Entretanto as mesmas ficam salvas em um arquivo, você pode visualizar o mesmo com o comando abaixo.
cat /etc/.postgresql_passwords