doc-bd

PostgreSQL no Ubuntu (22.04)

Será configurado o PostgreSQL do repositório oficial do Ubuntu (Security)

Configurando locales para ISO-8859-1:

Configurar o locale.alias

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

Configurar locale.gen

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 locale-gen

Evitar perder a configuração dos arquivos “locale”

sudo 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

Atualize os repositórios

sudo apt update

Instalar PostgreSQL 14:

sudo apt -y install postgresql-14

Verificar se a versão foi instalada corretamente e se está aceitando conexões

psql --version
pg_isready

Configurar banco para usar ISO-88591 (LATIN1)

sudo pg_ctlcluster 14 main stop
sudo pg_dropcluster 14 main
sudo pg_createcluster --locale=pt_BR.iso88591 -e LATIN1 14 main
sudo pg_ctlcluster 14 main start

Alterar arquivo 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

Alterar arquivo postgresql.conf

Edite o arquivo /etc/postgresql/{VERSAO DO POSTGRES}/main/postgresql.conf e 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

Se posteriormente ocorrer erros e o banco estiver inacessível, talvez seja necessário DEPURAR usando o status. Para isso, o comando deve ser efetuado indicando a versão:

systemctl status postgresql@14-main.service

Também pode ser necessário verificar os logs do postgresql:

sudo tail -n 50 /var/log/postgresql/postgresql-14-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

Ubuntu 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

Liberar portas, Firewall UFW

postgresql, Linux downloads (Ubuntu)
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

PSQL Fatall authentication Debian PostgreSQL