15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
30.10.2024
6 +2

Como Instalar o PostgreSQL no Debian: Um Guia Completo Passo a Passo

PostgreSQL é um dos sistemas de gestão de bases de dados relacionais (RDBMS) open-source mais poderosos do mundo. Conhecido pela sua fiabilidade, extensibilidade e estrita conformidade com SQL, é o motor de base de dados preferido por programadores, engenheiros de dados e administradores de sistemas que executam cargas de trabalho em produção. Quer esteja a criar uma aplicação web, um armazém de dados ou uma API de backend, o PostgreSQL oferece o desempenho e a flexibilidade de que necessita.

Este guia abrangente orienta-o em cada etapa da instalação e configuração do PostgreSQL num sistema baseado em Debian — desde a instalação inicial do pacote até à configuração de acesso remoto e gestão de bases de dados. Se estiver a executar as suas cargas de trabalho num plano de VPS Hosting, este guia é totalmente aplicável ao seu ambiente.

Pré-requisitos

Antes de começar, certifique-se de que tem:

  • Um servidor Debian 11 (Bullseye) ou Debian 12 (Bookworm)
  • Uma conta de utilizador com privilégios sudo
  • Acesso SSH ao seu servidor
  • Uma ligação à internet estável

Passo 1: Atualizar a Lista de Pacotes do Sistema

Antes de instalar qualquer novo software, é uma boa prática sincronizar o índice de pacotes e atualizar quaisquer pacotes desatualizados. Isto garante compatibilidade e reduz o risco de conflitos de dependências.

Abra um terminal ou aceda ao seu servidor via SSH e execute:

sudo apt update
sudo apt upgrade -y
    apt update atualiza o índice de pacotes local a partir dos repositórios configurados.
    apt upgrade instala as versões mais recentes de todos os pacotes atualmente instalados.
    
    Assim que a atualização estiver concluída, o seu sistema Debian está pronto para uma instalação limpa do PostgreSQL.
    Passo 2: Instalar o PostgreSQL no Debian
    O PostgreSQL está disponível diretamente nos repositórios oficiais do Debian, tornando a instalação simples e fiável. Execute o seguinte comando:
    sudo apt install postgresql postgresql-contrib -y
    Aqui está o que cada pacote fornece:
    
    
    
    
    Pacote
    Descrição
    
    
    
    
    postgresql
    O servidor de base de dados PostgreSQL principal
    
    
    postgresql-contrib
    Utilitários adicionais, extensões e ferramentas comumente usadas com o PostgreSQL
    
    
    
    
    O processo de instalação cria automaticamente um utilizador de sistema chamado postgres, inicializa o cluster de base de dados padrão e regista o PostgreSQL como um serviço do sistema.
    Passo 3: Verificar a Instalação do PostgreSQL
    Assim que a instalação estiver concluída, o PostgreSQL deverá iniciar automaticamente. Verifique se o serviço está ativo e em execução:
    sudo systemctl status postgresql
    Deverá ver uma saída semelhante a:
    ● postgresql.service - PostgreSQL RDBMS
         Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
         Active: active (running) since ...
    Se o PostgreSQL não estiver em execução, inicie-o manualmente:
    sudo systemctl start postgresql
    Para garantir que o PostgreSQL inicia automaticamente sempre que o servidor reinicia:
    sudo systemctl enable postgresql
    Isto é especialmente importante em servidores cloud e ambientes de VPS Hosting onde podem ocorrer reinicializações durante janelas de manutenção.
    Passo 4: Configuração Básica do PostgreSQL
    O PostgreSQL utiliza um modelo de autenticação baseado em funções. Após a instalação, é criada uma função de superutilizador padrão chamada postgres. Esta secção aborda como aceder ao shell do PostgreSQL, criar funções e configurar bases de dados.
    4.1 Mudar para o Utilizador de Sistema do PostgreSQL
    Mude para o utilizador de sistema postgres para obter acesso administrativo:
    sudo -i -u postgres
    Agora abra o terminal interativo do PostgreSQL:
    psql
    Será recebido com o prompt do PostgreSQL:
    psql (15.x)
    Type "help" for help.
    
    postgres=#
    A partir daqui, pode executar comandos SQL, gerir funções e administrar bases de dados.
    4.2 Criar uma Nova Função (Utilizador) do PostgreSQL
    O PostgreSQL gere o acesso através de funções. Para criar uma nova função com uma palavra-passe segura:
    CREATE USER your_username WITH PASSWORD 'your_strong_password';
    Substitua your_username e your_strong_password pelas credenciais desejadas.
    Para conceder privilégios de superutilizador a esta função (use com cautela em produção):
    ALTER USER your_username WITH SUPERUSER;
    Quando terminar, saia do prompt psql:
    q
    4.3 Criar uma Nova Base de Dados
    Enquanto ainda estiver autenticado como utilizador de sistema postgres, crie uma nova base de dados:
    createdb your_database_name
    Para atribuir a propriedade da base de dados ao utilizador que acabou de criar:
    psql
    ALTER DATABASE your_database_name OWNER TO your_username;
    q
    Isto garante que your_username tem controlo total sobre your_database_name sem necessitar de acesso de superutilizador para operações de rotina.
    Passo 5: Configurar Acesso Remoto (Opcional)
    Por padrão, o PostgreSQL apenas aceita ligações de localhost (127.0.0.1). Se o seu servidor de aplicações ou máquina de desenvolvimento estiver alojado separadamente — por exemplo, num plano de Dedicated Servers — precisará de ativar o acesso remoto.
    > ⚠️ Aviso de Segurança: Abrir o PostgreSQL a ligações remotas aumenta a sua superfície de ataque. Utilize sempre palavras-passe fortes, restrinja o acesso a intervalos de IP conhecidos e considere utilizar uma ligação encriptada com SSL.
    5.1 Modificar o Ficheiro de Configuração do PostgreSQL
    Abra o ficheiro de configuração principal do PostgreSQL. Substitua 15 pelo número da versão instalada:
    sudo nano /etc/postgresql/15/main/postgresql.conf
    Localize a seguinte linha:
    #listen_addresses = 'localhost'
    Descomente-a e altere o valor para aceitar ligações em todas as interfaces:
    listen_addresses = '*'
    Para restringir o acesso a um endereço IP específico:
    listen_addresses = '192.168.1.100'
    Guarde o ficheiro e saia (Ctrl+X, depois Y, depois Enter).
    5.2 Modificar o Ficheiro de Autenticação de Clientes
    Em seguida, edite o ficheiro pg_hba.conf para definir quais os hosts autorizados a ligar:
    sudo nano /etc/postgresql/15/main/pg_hba.conf
    Adicione a seguinte linha no final do ficheiro para permitir ligações de qualquer endereço IP utilizando autenticação por palavra-passe:
    host    all             all             0.0.0.0/0               md5
    Para maior segurança, substitua 0.0.0.0/0 por um intervalo de IP específico, como por exemplo:
    host    all             all             203.0.113.0/24          md5
    Guarde e saia do ficheiro.
    5.3 Reiniciar o PostgreSQL para Aplicar as Alterações
    sudo systemctl restart postgresql
    5.4 Abrir a Porta da Firewall (Se Aplicável)
    Se o seu servidor utilizar ufw, permita o tráfego do PostgreSQL na porta 5432:
    sudo ufw allow 5432/tcp
    sudo ufw reload
    Passo 6: Ligar ao PostgreSQL Remotamente
    Com o acesso remoto configurado, pode ligar ao seu servidor PostgreSQL a partir de qualquer máquina remota que tenha o cliente PostgreSQL instalado.
    Instale o cliente PostgreSQL na máquina remota:
    sudo apt install postgresql-client -y
    Ligue ao servidor PostgreSQL remoto:
    psql -h your_server_ip -U your_username -d your_database_name
    Substitua os marcadores de posição da seguinte forma:
    
    
    
    
    Marcador de Posição
    Descrição
    
    
    
    
    your_server_ip
    O endereço IP público do seu servidor PostgreSQL
    
    
    your_username
    A função do PostgreSQL que criou
    
    
    your_database_name
    O nome da base de dados de destino
    
    
    
    
    Ser-lhe-á solicitada a palavra-passe que definiu durante a criação da função.
    Passo 7: Gerir Bases de Dados PostgreSQL
    Assim que o PostgreSQL estiver instalado e configurado, pode gerir as suas bases de dados utilizando o shell psql e utilitários de linha de comandos integrados.
    7.1 Listar Todas as Bases de Dados
    Dentro do prompt psql, execute:
    l
    Isto apresenta todas as bases de dados no servidor, juntamente com os seus proprietários, codificação e privilégios de acesso.
    7.2 Mudar para uma Base de Dados Diferente
    c your_database_name
    7.3 Listar Todas as Tabelas na Base de Dados Atual
    dt
    7.4 Fazer Backup de uma Base de Dados PostgreSQL
    Utilize o utilitário pg_dump para criar um backup lógico:
    pg_dump your_database_name > your_database_name_backup.sql
    Para um backup comprimido (recomendado para bases de dados grandes):
    pg_dump -Fc your_database_name > your_database_name_backup.dump
    7.5 Restaurar uma Base de Dados PostgreSQL
    Para restaurar a partir de um backup SQL simples:
    psql your_database_name < your_database_name_backup.sql
    Para restaurar a partir de um backup comprimido:
    pg_restore -d your_database_name your_database_name_backup.dump
    Os backups regulares são uma parte crítica de qualquer estratégia de base de dados em produção. Se necessitar de um ambiente de alojamento gerido com suporte de backup automatizado, considere os Dedicated Servers da AlexHost para implementações de bases de dados de alta disponibilidade.
    Passo 8: Proteger a Sua Instalação do PostgreSQL
    O reforço da segurança é essencial para qualquer base de dados exposta à internet ou a ambientes de alojamento partilhado. Aqui estão as principais boas práticas:
    Utilizar SSL/TLS para Ligações Encriptadas
    O PostgreSQL suporta ligações SSL nativas. Ative o SSL em postgresql.conf:
    ssl = on
    Precisará de um certificado SSL válido. A AlexHost oferece SSL Certificates para proteger as comunicações do seu servidor.
    Restringir Privilégios de Funções
    Siga o princípio do menor privilégio. Conceda às funções apenas as permissões de que realmente necessitam:
    GRANT CONNECT ON DATABASE your_database_name TO your_username;
    GRANT USAGE ON SCHEMA public TO your_username;
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO your_username;
    Rodar Palavras-passe Regularmente
    Atualize periodicamente as palavras-passe das funções do PostgreSQL:
    ALTER USER your_username WITH PASSWORD 'new_strong_password';
    Monitorizar os Registos do PostgreSQL
    Os registos do PostgreSQL estão localizados em:
    /var/log/postgresql/
    Reveja estes registos regularmente para detetar tentativas de acesso não autorizado ou anomalias de desempenho.
    Escolher o Ambiente de Alojamento Certo para o PostgreSQL
    O desempenho da sua base de dados PostgreSQL está diretamente relacionado com a qualidade da sua infraestrutura subjacente. Aqui está uma comparação rápida das opções de alojamento da AlexHost para cargas de trabalho de bases de dados:
    
    
    
    
    Tipo de Alojamento
    Ideal Para
    Principal Vantagem
    
    
    
    
    VPS Hosting
    Aplicações pequenas a médias
    Recursos dedicados, acesso root completo
    
    
    Dedicated Servers
    Bases de dados de produção com alto tráfego
    Máximo desempenho e isolamento
    
    
    GPU Hosting
    Cargas de trabalho AI/ML com PostgreSQL + pgvector
    Processamento de dados acelerado por GPU
    
    
    
    
    Para a maioria das aplicações web e ambientes de desenvolvimento, um VPS com armazenamento NVMe SSD oferece um excelente equilíbrio entre desempenho e eficiência de custos.
    Conclusão
    Instalar o PostgreSQL no Debian é um processo simples que demora apenas alguns minutos quando se seguem os passos corretos. Neste guia, aprendeu a:
    
    Atualizar o seu sistema Debian e instalar o PostgreSQL a partir dos repositórios oficiais
    Verificar o estado do serviço e ativar o arranque automático
    Criar funções e bases de dados com a propriedade adequada
    Configurar o acesso remoto de forma segura utilizando postgresql.conf e pg_hba.conf
  • Ligar ao PostgreSQL a partir de uma máquina remota
  • Gerir bases de dados utilizando comandos psql e utilitários de backup
  • Aplicar medidas essenciais de reforço de segurança

Quer esteja a implementar um pequeno ambiente de desenvolvimento ou um servidor de base de dados de nível de produção, a infraestrutura da AlexHost fornece a fiabilidade, velocidade e segurança que as suas cargas de trabalho PostgreSQL exigem. Explore os planos de VPS Hosting para começar hoje com um ambiente totalmente gerido e de alto desempenho.

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar