Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Administração Linux

Como Gerenciar Bancos de Dados em PostgreSQL: Um Guia Completo para Usuários de VPS Linux

PostgreSQL (comumente chamado Postgres) é um dos sistemas de gerenciamento de banco de dados relacional de código aberto mais poderosos e ricos em recursos disponíveis atualmente. Confiável para startups e equipes empresariais, destaca-se no tratamento de consultas complexas, grandes conjuntos de dados e arquiteturas de aplicações escaláveis. Quer você esteja construindo uma plataforma SaaS, uma loja de e-commerce ou um backend de API intensivo em dados, PostgreSQL oferece a confiabilidade e o desempenho que seu projeto exige.

Executar PostgreSQL em um ambiente de VPS Hosting de alto desempenho — com armazenamento NVMe SSD, acesso root completo e proteção DDoS integrada — oferece controle total sobre sua infraestrutura de banco de dados sem a sobrecarga de soluções de nuvem gerenciadas. Este guia o orienta em todas as tarefas essenciais de gerenciamento do PostgreSQL, desde o acesso inicial e criação de banco de dados até permissões de usuário, backups e endurecimento de segurança.

Pré-requisitos

Antes de prosseguir, certifique-se de que tem:

  • Um VPS Linux com Ubuntu, Debian ou CentOS com PostgreSQL instalado
  • Acesso root ou sudo ao seu servidor
  • Familiaridade básica com a linha de comando Linux

Se ainda não configurou o seu ambiente de servidor, os Painéis de Controlo VPS da AlexHost tornam simples configurar a sua stack rapidamente.

1. Acedendo à Interface de Linha de Comando do PostgreSQL

Todas as tarefas de gerenciamento do PostgreSQL começam na interface de linha de comando (CLI), também conhecida como psql. Por padrão, o PostgreSQL cria um usuário do sistema chamado postgres durante a instalação, e esta conta é usada para autenticar com o mecanismo de banco de dados.

Passo 1: Mudar para o Usuário do Sistema PostgreSQL

sudo -i -u postgres

Passo 2: Iniciar a CLI do PostgreSQL

psql

Uma vez conectado, você verá o prompt interativo:

postgres=#

Isto confirma que você está dentro do ambiente PostgreSQL e pronto para executar comandos SQL e meta-comandos.

> Dica Profissional: Você também pode conectar-se diretamente sem mudar de usuários executando sudo -u postgres psql da sua sessão de shell regular.

2. Criando um Novo Banco de Dados

Bancos de dados são os contêineres de nível superior para todas as suas tabelas, índices e dados armazenados. Use a instrução CREATE DATABASE para provisionar um novo banco de dados.

Sintaxe

CREATE DATABASE database_name;

Exemplo

CREATE DATABASE my_database;

Isto cria um banco de dados nomeado my_database pertencente à função PostgreSQL ativa no momento.

Verificar se o Banco de Dados Foi Criado

Use o meta-comando l para listar todos os bancos de dados no servidor:

l

Você verá uma tabela mostrando nomes de bancos de dados, proprietários, codificações e privilégios de acesso.

3. Criar e Gerir Utilizadores de Base de Dados

A gestão adequada de utilizadores é crítica para a segurança da base de dados. Em vez de conceder a todos os aplicativos acesso sob a conta postgres superuser, deve criar utilizadores dedicados com permissões limitadas.

Criar um Novo Utilizador

CREATE USER username WITH PASSWORD 'your_secure_password';

Exemplo

CREATE USER dbuser WITH PASSWORD 'StrongP@ssword123';

Conceder Acesso Completo a uma Base de Dados Específica

GRANT ALL PRIVILEGES ON DATABASE database_name TO username;

Exemplo

GRANT ALL PRIVILEGES ON DATABASE my_database TO dbuser;

Isto concede a dbuser acesso completo de leitura e escrita a my_database, incluindo a capacidade de criar e eliminar tabelas.

Listar Todos os Utilizadores

Para visualizar todas as funções e utilizadores existentes:

du

4. Conectar a uma Base de Dados

Depois de uma base de dados existir, precisa conectar-se a ela antes de poder criar tabelas ou executar consultas contra ela.

Mudar para uma Base de Dados

c my_database

O prompt será atualizado para refletir a base de dados ativa:

my_database=#

Está agora a operar dentro de my_database e pode executar todas as instruções DDL e DML contra ela.

5. Criando e Gerenciando Tabelas

Tabelas são a unidade estrutural central de qualquer banco de dados relacional. Cada tabela define um esquema — um conjunto de colunas nomeadas com tipos de dados e restrições específicas.

Criar uma Tabela

CREATE TABLE table_name (
    column1 data_type PRIMARY KEY,
    column2 data_type,
    column3 data_type
);

Exemplo Prático: Tabela de Registros de Funcionários

CREATE TABLE employees (
    employee_id SERIAL PRIMARY KEY,
    name        VARCHAR(100) NOT NULL,
    department  VARCHAR(50),
    salary      NUMERIC(10, 2)
);

Aqui, SERIAL incrementa automaticamente o employee_id em cada nova linha, e NOT NULL garante que cada funcionário tenha um nome.

6. Inserir, Consultar, Atualizar e Eliminar Dados

Inserir um Registo

INSERT INTO employees (name, department, salary)
VALUES ('Jane Smith', 'Engineering', 72000);

Consultar Todos os Registos

SELECT * FROM employees;

Filtrar Resultados com uma Cláusula WHERE

SELECT name, salary FROM employees WHERE department = 'Engineering';

Atualizar um Registo Existente

UPDATE employees
SET salary = 78000
WHERE name = 'Jane Smith';

Eliminar um Registo Específico

DELETE FROM employees
WHERE name = 'Jane Smith';

> Melhor Prática: Utilize sempre uma cláusula WHERE com as instruções UPDATE e DELETE. Omiti-la afetará todas as linhas da tabela.

7. Gerenciamento de Acesso e Segurança de Banco de Dados

A segurança é uma preocupação de primeira classe em qualquer implantação PostgreSQL em produção. O princípio do menor privilégio — conceder aos usuários apenas as permissões que realmente precisam — reduz drasticamente sua superfície de ataque.

Revogar Todos os Privilégios de um Usuário

REVOKE ALL PRIVILEGES ON DATABASE my_database FROM dbuser;

Conceder Acesso Somente Leitura a uma Tabela Específica

GRANT SELECT ON TABLE employees TO dbuser;

Isto permite que dbuser consulte a tabela employees mas impede qualquer inserção, atualização ou exclusão.

Conceder Permissões DML Específicas

GRANT SELECT, INSERT, UPDATE ON TABLE employees TO dbuser;

Recomendações de Segurança Adicionais

  • Use senhas fortes e únicas para cada usuário de banco de dados
  • Desabilite o acesso remoto para o superusuário postgres em pg_hba.conf
  • Ative conexões SSL para criptografar dados em trânsito — combine isto com um Certificado SSL confiável no seu servidor
  • Audite regularmente os privilégios dos usuários usando du e dp
  • Mantenha PostgreSQL atualizado para corrigir vulnerabilidades conhecidas

8. Cópia de Segurança e Restauração de Bases de Dados

As cópias de segurança regulares são inegociáveis para qualquer base de dados em produção. PostgreSQL fornece os utilitários pg_dump e psql para fluxos de trabalho de cópia de segurança e restauração simples.

Fazer Cópia de Segurança de uma Base de Dados para um Ficheiro SQL

pg_dump my_database > my_database_backup.sql

Isto exporta o esquema e os dados da base de dados inteira como um script SQL em texto simples.

Fazer Cópia de Segurança em Formato Comprimido (Recomendado para Bases de Dados Grandes)

pg_dump -Fc my_database > my_database_backup.dump

O formato personalizado (-Fc) produz um ficheiro binário comprimido e suporta restauração paralela.

Restaurar uma Base de Dados a partir de uma Cópia de Segurança SQL

psql my_database < my_database_backup.sql

Restaurar a partir de uma Cópia de Segurança em Formato Personalizado

pg_restore -d my_database my_database_backup.dump

Automatizar Cópias de Segurança com uma Tarefa Cron

Agende cópias de segurança diárias adicionando uma entrada cron:

crontab -e
0 2 * * * pg_dump my_database > /var/backups/postgres/my_database_$(date +%F).sql

Isto executa uma cópia de segurança todos os dias às 2:00 da manhã e acrescenta a data ao nome do ficheiro para versionamento fácil.

9. Eliminar Tabelas e Bases de Dados

Quando uma tabela ou base de dados já não é necessária, use o comando DROP para removê-la permanentemente.

Eliminar uma Tabela

DROP TABLE table_name;

Exemplo

DROP TABLE employees;

Eliminar uma Tabela Apenas Se Existir (Sintaxe Mais Segura)

DROP TABLE IF EXISTS employees;

Eliminar uma Base de Dados

Deve desconectar-se da base de dados de destino antes de a eliminar. Mude primeiro para a base de dados padrão postgres:

c postgres

Depois elimine o destino:

DROP DATABASE my_database;

> Aviso: DROP DATABASE é irreversível. Verifique sempre que tem uma cópia de segurança atual antes de executar este comando em produção.

10. Referência Útil de Meta-Comandos PostgreSQL

O CLI psql inclui um conjunto rico de meta-comandos (prefixados com ) que simplificam a navegação e inspeção:

ComandoDescrição
lListar todas as bases de dados
c dbnameConectar a uma base de dados
dtListar todas as tabelas na base de dados atual
d table_nameDescrever o esquema de uma tabela
duListar todos os utilizadores e funções
dpMostrar privilégios de acesso à tabela
timingAlternar exibição do tempo de execução da consulta
qSair do CLI PostgreSQL

11. Sair da CLI do PostgreSQL

Quando terminar a sua sessão, saia de forma limpa utilizando:

q

Isto devolve-o à linha de comandos da shell Linux.

Por que executar PostgreSQL em um VPS AlexHost?

Performance e controle são as duas maiores razões para auto-hospedar PostgreSQL em um VPS dedicado em vez de depender de um serviço de banco de dados compartilhado ou gerenciado. Com a infraestrutura AlexHost, você obtém:

  • Armazenamento NVMe SSD para operações de leitura/escrita ultra-rápidas em grandes conjuntos de dados
  • Acesso root completo para configurar PostgreSQL exatamente conforme sua aplicação requer
  • Proteção DDoS para manter seu servidor de banco de dados disponível em condições adversas de rede
  • Recursos escaláveis — atualize seu CPU, RAM e armazenamento conforme seus dados crescem

Para equipes gerenciando múltiplas aplicações ou projetos de clientes, Servidores Dedicados oferecem isolamento ainda maior, performance bruta e latência previsível para cargas de trabalho intensivas em banco de dados.

Se você está hospedando aplicações web junto com seus bancos de dados PostgreSQL, combinar seu VPS com Hospedagem Web Compartilhada para ativos estáticos ou entrega de front-end pode otimizar ainda mais sua arquitetura e reduzir custos.

Conclusão

Dominar o gerenciamento de banco de dados PostgreSQL em um Linux VPS oferece total propriedade da sua infraestrutura de dados — desde design de schema e permissões de usuário até backups automatizados e endurecimento de segurança. Os comandos e fluxos de trabalho abordados neste guia representam o conjunto de habilidades essenciais que todo desenvolvedor e administrador de sistemas precisa para operar PostgreSQL com confiança em produção.

Resumo de Referência Rápida:

  • Use CREATE DATABASE e CREATE USER para provisionar novos recursos
  • Aplique o princípio do menor privilégio com GRANT e REVOKE
  • Sempre faça backup com pg_dump antes de fazer alterações destrutivas
  • Use l, dt e du para inspecionar seu ambiente rapidamente
  • Agende backups automatizados via cron para proteger contra perda de dados

Pronto para colocar essas habilidades em prática? Inicie um ambiente Linux totalmente gerenciado em um plano VPS Hosting da AlexHost e assuma o controle completo da sua implantação PostgreSQL hoje.