Se durante a instalação do Debian, optou de usar DHCP e tiver a necessidade de configurar um IP fixo, é mais fácil usar o aplicativo do Network Manager User Interfacec (nmtui).
Se optou por configurar um IP fixo durante a instalação ou não houver necessidade de configurar depois, pule esta etapa para Configurando locales para ISO-8859-1.
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
O Manager utiliza a codificaçao LATIN1 (ISO-8859-1), então é recomendável não só instalar o banco, mas configurar para que seja usado esta codificão por padrão.
Para usar a codificação ISO-8859-1 no banco, deve configurar para que o sistema também use ou tenha suporte, senão não dá pra configurar o banco para esta codificação.
sudo cp -av /etc/locale.alias /etc/locale.alias.original
echo -e 'pt_BR pt_BR.ISO-8859-1' | sudo tee -a /etc/locale.alias
grep pt /etc/locale.alias
sudo cp -av /etc/locale.gen /etc/locale.gen.original
sudo sed -i '/pt_BR ISO-8859-1/s/#//' /etc/locale.gen
grep pt /etc/locale.gen
sudo localedef -i pt_BR -f ISO-8859-1 pt_BR.ISO-8859-1
locale -a | grep pt_BR
sudo locale-gen
dpkg-divert para que o sistema não sobrescreva seus arquivos durante atualizaçõessudo dpkg-divert --add --rename --divert /etc/locale.alias.real /etc/locale.alias
sudo dpkg-divert --add --rename --divert /etc/locale.gen.real /etc/locale.gen
sudo cp -a /etc/locale.alias.real /etc/locale.alias
sudo cp -a /etc/locale.gen.real /etc/locale.gen
ls -all /etc/locale*
Para mais informações, veja Ubuntu, arquivos locale customizados
sudo apt -y install curl ca-certificates gnupg gnupg2 wget lsb-release vim nano
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Em versões mais atuais do Debian não existe mais o comando apt-key, pois o mesmo foi descontinuado.
Então se der erro de comando não encotrado para o apt-key, pule este comando para o próximo, que usa o comando gpg para adicionar a chave.
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 gpg
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"
Edite o arquivo /etc/postgresql/16/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:
Exemplo:
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.serviceTambém pode ser necessário verificar os logs do postgresql:
sudo tail -n 50 /var/log/postgresql/postgresql-16-main.logPara 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