Noções Básicas de Instalação
8 exemplos para instalar o PostgreSQL 18 em plataformas comuns - 6 básicos e 2 intermediários.
Pré-requisitos
# Verifique se você tem sudo ou root para instalações de pacotes
uname -a- Alvo PostgreSQL 18.4 (estável 18) ou a versão secundária atual do seu principal suportado.
- Prefira pacotes oficiais em vez de compilações a partir do código-fonte, a menos que você precise de sinalizadores de compilação personalizados.
- Execute o usuário do sistema operacional do banco de dados como uma conta dedicada
postgres, nunca como root.
Exemplos Básicos
1. Verificar Versão Instalada
Confirme o que já está no host antes de alterar qualquer coisa.
psql --version
postgres --versionpsqlé o cliente;postgresé o binário do servidor.- A versão principal deve corresponder entre cliente e servidor para restaurações
pg_dump. - Instâncias gerenciadas na nuvem ocultam o binário - use
SELECT version();em vez disso.
Relacionado: initdb e Diretório de Dados - configuração inicial do cluster
2. Instalar no Debian/Ubuntu
Use o repositório apt PGDG para as versões principais atuais.
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt update
sudo apt install -y postgresql-18 postgresql-client-18- PGDG rastreia lançamentos mais rapidamente do que os pacotes padrão da distribuição.
postgresql-18cria um cluster viainitdbautomaticamente em sistemas da família Debian.- Fixe a versão principal na automação - não confie apenas no metapacote
postgresql.
3. Instalar no RHEL/Rocky/Alma
Habilite o repositório yum PGDG e instale o pacote do servidor.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql18-server postgresql18
sudo /usr/pgsql-18/bin/postgresql-18-setup initdb
sudo systemctl enable --now postgresql-18- Desabilite o módulo
postgresqlpadrão para evitar conflitos de versão. postgresql-18-setup initdbcriaPGDATAem/var/lib/pgsql/18/data.- Habilite a unidade systemd na inicialização para hosts de produção.
Relacionado: Systemd e Gerenciamento de Serviços - iniciar/parar/recarregar
4. Instalar no macOS (Homebrew)
Instalações rápidas de desenvolvimento local em Macs com Apple Silicon ou Intel.
brew install postgresql@18
brew services start postgresql@18
echo 'export PATH="/opt/homebrew/opt/postgresql@18/bin:$PATH"' >> ~/.zshrc- Homebrew não cria um usuário de sistema
postgres- seu usuário do macOS é o proprietário do diretório de dados. - Adicione o caminho
bin"keg-only" aoPATHparapsqleinitdb. - Bom para desenvolvimento; use pacotes ou contêineres para paridade de produção.
5. Verificar se o Servidor Está em Execução
Conecte-se localmente e leia a versão do catálogo.
SELECT version();
SHOW server_version;
SHOW data_directory;server_versioné o GUC numérico;version()inclui sinalizadores de compilação.data_directoryconfirma qualPGDATAesta instância está usando.- Se a conexão falhar, verifique
pg_hba.confe se o serviço está ativo.
6. Pacotes vs. Compilação a partir do Código-Fonte
Escolha pacotes, a menos que você tenha um motivo documentado para compilar.
| Abordagem | Use quando | Evite quando |
|---|---|---|
| Pacotes OS/PGDG | Produção, aplicação de patches, contratos de suporte | Você precisa de patches não lançados |
| Imagem Docker | Desenvolvimento, CI, ambientes efêmeros | Você precisa de ajuste de nível de host sem contêineres |
| Compilação a partir do código-fonte | Extensões personalizadas, sinalizadores de CPU de nicho | OLTP padrão com limites de largura de banda da equipe de operações |
- Pacotes fornecem combinações testadas de bibliotecas e unidades systemd.
- Compilações a partir do código-fonte transferem a responsabilidade de patching para sua equipe.
- Documente o método de instalação em seu runbook de qualquer maneira.
Exemplos Intermediários
7. Docker para Desenvolvimento Local
Execute uma instância isolada 18.x sem tocar na instalação do host.
docker run -d \
--name pg18 \
-e POSTGRES_PASSWORD=devonly \
-p 5432:5432 \
-v pg18data:/var/lib/postgresql/data \
postgres:18.4- O volume nomeado persiste dados entre reinicializações do contêiner.
- Monte diretórios do host apenas quando você entender o mapeamento de UID no Linux.
- Nunca use senhas padrão fora do localhost.
Relacionado: pg_hba.conf e Autenticação - restrinja a autenticação após o bootstrap
8. Bases de Sistemas Operacionais Suportados
Alinhe o sistema operacional do host com as janelas de suporte do fornecedor.
| Família de SO | Base | Notas |
|---|---|---|
| Debian 12 / Ubuntu 22.04+ | LTS com PGDG | Escolha principal para auto-hospedado |
| RHEL 9 / Rocky 9 | Padrão Enterprise | Contextos SELinux importam para PGDATA |
| macOS 14+ | Apenas desenvolvimento | Não é um host de produção PostgreSQL |
| Windows Server 2022 | Suportado, mas raro | Prefira Linux para o ecossistema de ferramentas de HA |
- Execute uma versão secundária do sistema operacional suportada antes de atualizar a versão principal do PostgreSQL.
- SO EOL + PostgreSQL atual é um risco de conformidade, mesmo que o binário instale.
- O PostgreSQL gerenciado na nuvem remove o patching do SO do seu escopo, mas não a política de versão.
Versões da Pilha: Esta página foi escrita para PostgreSQL 18.4 (estável 18, manutenção 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x e PostGIS 3.5+.