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