sudo apt update && sudo apt upgrade
sudo apt -y install network-manager
sudo mv /etc/network/interfaces /etc/network/interfaces.old
sudo systemctl restart networking
sudo systemctl restart NetworkManager
sudo nmtui
sudo systemctl restart NetworkManager
sudo cp -av /etc/locale.alias /etc/locale.alias.bkp
echo -e 'pt_BR pt_BR.ISO-8859-1' | sudo tee -a /etc/locale.alias
grep pt /etc/locale.alias
sudo sed -i '/pt_BR ISO-8859-1/s/#//' /etc/locale.gen
grep pt /etc/locale.gen
sudo locale-gen
Sempre verificar após uma atualização, se o arquivo
/etc/locale.gen
foi sobrescrito.
Caso a linhapt_BR ISO-8859-1
estiver comentada, faça osed
novamente para descomentar.
sudo apt -y install curl ca-certificates gnupg
sudo 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 -
Se usando o apt-key não der certo, faça este comando
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
Atualize os repositórios
sudo apt update
sudo apt -y install postgresql-16
Verificar se a versão foi instalado corretamente e se está aceitando conexões
psql --version
pg_isready
sudo pg_ctlcluster 16 main stop
sudo pg_dropcluster 16 main
sudo pg_createcluster --locale=pt_BR.iso88591 -e LATIN1 16 main
sudo pg_ctlcluster 16 main start
PGDATA="/var/lib/postgresql/16/main"
export IPROUTE=$(ip route show | grep kernel | awk '{ print $1 }' | head -1)
echo -e "\nhost all all 0.0.0.0/0 trust\n" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
echo -e "\nhost all all "$IPROUTE" trust\n" | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
Edite o arquivo /etc/postgresql/{VERSAO DO POSTGRES}/main/pg_hba.conf e adicione no final do arquivo o IP 0.0.0.0 e o IP do servidor para que seja liberado a comunicação do Manager com o banco:
host all all 0.0.0.0/0 trust
host all all 192.168.15.90/24 trust
sudo sed -i '/listen_addresses/s/#//' /etc/postgresql/16/main/postgresql.conf
sudo sed -i '/listen_addresses/s/localhost/*/' /etc/postgresql/16/main/postgresql.conf
sudo sed -i "s/^#*\(port = \).*/\15432/" /etc/postgresql/16/main/postgresql.conf
Ache a linha com listen_addresses
, descomente e deixe desta forma:
listen_addresses = '*'
Ache a linha que tem port = 5432
e se estiver comentado, descomente.
Depois salve e saia do editor.
Reiniciar o PostgreSQL
sudo systemctl restart postgresql
systemctl status postgresql
systemctl status postgresql@16-main.service
Também pode ser necessário verificar os logs do postgresql:
sudo tail -n 50 /var/log/postgresql/postgresql-16-main.log
Para saber mais, veja Diferenças dos status postgresql
Modificar senha do usuario postgres no template
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'postgres'" -d template1
Debian nega o uso do usuário postgres, então deve criar outro usuário para poder fazer tarefas administrativas
sudo -u postgres createuser -d -l -P -r -s --replication pgadmin
Criar um banco para uso. Exemplo, com o nome do host
createdb -h127.0.0.1 -p 5432 -U pgadmin db.`hostname` db.`hostname`
Listar bancos
psql -h127.0.0.1 -p 5432 -U pgadmin -l
Adicionar “Funções” no Banco
wget -c https://raw.githubusercontent.com/elppans/doc-bd/refs/heads/main/function.sql
psql -h127.0.0.1 -p 5432 -d db.`hostname` -U pgadmin -W -f function.sql
Usando FirewallD, pode ser usado o nome do serviço ou diretamente a porta para a liberação
Deve instalar o pacote do FirewallD para poder usar
sudo apt -y install firewalld
sudo systemctl enable --now firewalld
systemctl status firewalld
Liberando a PostgreSQL usando serviço
sudo firewall-cmd --zone=$(firewall-cmd --get-default-zone) --permanent --add-service=postgresql
Liberando a PostgreSQL usando a porta
sudo firewall-cmd --permanent --add-port=5432/tcp
Recarregando as configurações do FirewallD e listando as portas liberadas
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
postgresql, Linux downloads (Debian)
postgresql, Linux downloads (Red Hat)
Archlinux PostgreSQL 10, AUR
Wikipédia, ISO/IEC 8859-1
Debian Firmware
Debian “non-free”, CD including firmware
Sites-espelho mundiais do Debian
Alias de espelho Debian BR
Debian Security
Debian LTS - pt_BR
Debian LTS/Using
Introdução ao Empacotamento Debian
Chapter 7. Basics of the Debian package management system
Chapter 8. The Debian package management tools
pt_BR How To Package For Debian
Debian/Ubuntu, Find Out What Package Provides a File
How to Find the Debian Package that Provides a File
Debian NetworkManager, Wiki
NetworkManager (NMCLI) on Ubuntu/Debian
Configurar IP com ‘nmtui’
No nmtui/nmcli on freshly install Debian
Debian Locale
Configurar locales de UTF8 para ISO88591
dpkg-reconfigure locales
Falha de autenticação postgres PGSQL 11