Este documento apresenta o passo a passo para instalar o PostgreSQL 14 no sistema operacional Ubuntu (versão 20.04 ou superior) ou Debian (12), além de configurar os idiomas do sistema e os acessos de rede.
Antes de instalar o banco de dados, é necessário preparar o sistema operacional e adicionar os repositórios oficiais.
sudo apt updatesudo apt upgradesudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sudo apt updatesudo apt install postgresql-14Após a instalação, você pode verificar se o serviço está rodando e gerenciar o PostgreSQL utilizando os comandos abaixo:
systemctl status postgresql(A palavra "Active" indica que o banco está pronto para uso)systemctl start postgresqlsystemctl stop postgresqlsystemctl restart postgresqlsudo -u postgres psql\qPara garantir que o banco de dados e o sistema reconheçam corretamente os caracteres e formatos em Português e Inglês, é necessário configurar os locales.
locale -a
/etc/locale.genpt_BR.UTF-8 UTF-8 e en_US.UTF-8 UTF-8sudo locale-gensudo update-localePara permitir que outras máquinas se conectem ao seu banco de dados, é preciso editar o arquivo de controle de acesso de clientes.
/etc/postgresql/14/main/pg_hba.confhost all all all md5sudo systemctl restart postgresqlPara otimizar o desempenho do PostgreSQL, será necessário alterar alguns parâmetros de configuração do banco de dados.
Abra o arquivo postgresql.conf, que normalmente está localizado em:
/etc/postgresql/14/main/postgresql.conf
⚠️ Importante!
Antes de realizar qualquer alteração, recomenda-se fazer uma cópia de segurança (backup) do arquivo original.
Para obter valores adequados para a maior parte dos parâmetros, utilize o site PGTune.
O PGTune gera sugestões de configuração com base nas características do servidor, como quantidade de memória RAM e número de processadores.
Durante o preenchimento das informações, configure:
14Desktop ApplicationOs demais parâmetros devem ser preenchidos conforme a disponibilidade de recursos do servidor do Banco de Dados.
As configurações geradas pelo PGTune servem como ponto de partida. Dependendo do ambiente, da quantidade de usuários e da carga de trabalho, poderá ser necessário realizar ajustes adicionais.
⚠️Importante!
- Antes de alterar qualquer parâmetro, esteja ciente de que os valores alterados devem ser preenchidos exatamente conforme a tabela abaixo e o PGTune. Caso seja informado um valor incorreto, falta de aspas (
'') ou letras minúsculas (Ex:100mb), o serviço do Postgres não será iniciado. Caso isso ocorra, restaure o arquivo de backup dopostgresql.conf.- Caso exista uma hashtag (
#) na frente do parâmetro, remova-a — caso contrário, o valor considerado será o padrão do Postgres, e não o informado.
Após gerar as recomendações no PGTune, localize e altere os seguintes parâmetros no arquivo postgresql.conf:
| Parâmetro | Valor |
|---|---|
max_connections |
Número de estações × 3 |
shared_buffers |
Valor sugerido pelo PGTune |
effective_cache_size |
Valor sugerido pelo PGTune |
maintenance_work_mem |
Valor sugerido pelo PGTune |
wal_buffers |
Valor sugerido pelo PGTune |
random_page_cost |
Valor sugerido pelo PGTune |
work_mem |
Valor sugerido pelo PGTune |
min_wal_size |
Valor sugerido pelo PGTune |
max_wal_size |
Valor sugerido pelo PGTune |
max_worker_processes |
Valor sugerido pelo PGTune |
max_parallel_workers_per_gather |
Valor sugerido pelo PGTune |
max_parallel_workers |
Valor sugerido pelo PGTune |
max_parallel_maintenance_workers |
Valor sugerido pelo PGTune |
timezone |
'America/Sao_Paulo' |
datestyle |
'iso, dmy' |
cursor_tuple_fraction |
0.9 |
max_locks_per_transaction |
256 |
idle_in_transaction_session_timeout |
1h |
⚠️ Importante!
Não altere nenhum campo adicional presente no PGTune, altere apenas os valores informados acima.
Após salvar o arquivo postgresql.conf, reinicie o serviço do PostgreSQL para que as novas configurações sejam carregadas.
Somente após a reinicialização os novos parâmetros passarão a ser utilizados pelo banco de dados.