Instalar Qualquer Versão Suportada do PostgreSQL em Qualquer Versão Suportada do Ubuntu/Debian
Instalar Qualquer Versão Suportada do PostgreSQL
em Qualquer Versão Suportada do Ubuntu/Debian
OBJETIVO (TÓPICO) - O presente documento tem por objetivo demonstrar como instalar qualquer versão suportada do PostgreSQL, em qualquer versão suportada do Ubuntu/Debian.
###################################################################
Versão do Documento (TÓPICO)
# 1.0 - Em 15-06-2022 - Por Allyson Roberto Alves Cavalcanti
###################################################################
Tempo de Execução (TÓPICO)
# Opção 1 - Pasta de Dados em Localização Padrão do Pacote
3 min e 44s
# Opção 2 - Pasta de Dados em Localização NÃO Padrão do Pacote
4 min e 50s
###################################################################
Ambientes Testados (TÓPICO)
# Ubuntu 20.04.4 Server LTS e PostgreSQL-10 em 15-06-2022 com sucesso Versão OBSOLETA
# Ubuntu 20.04.4 Server LTS e PostgreSQL-11 em 15-06-2022 com sucesso Versão OBSOLETA
# Ubuntu 20.04.4 Server LTS e PostgreSQL-12 em 15-06-2022 com sucesso
# Ubuntu 20.04.4 Server LTS e PostgreSQL-13 em 15-06-2022 com sucesso
# Ubuntu 20.04.4 Server LTS e PostgreSQL-14 em 15-06-2022 com sucesso
###################################################################
REQUISITOS INICIAIS (TÓPICO)
O PostgreSQL herda as configurações do ambiente em que está sendo instalado com relação ao LOCALE.
“O suporte a localidade refere-se a um aplicativo que respeita as preferências culturais em relação a alfabetos, classificação, formatação de números, etc. O PostgreSQL usa os recursos padrão de localidade ISO C e POSIX fornecidos pelo sistema operacional do servidor. Para obter informações adicionais, consulte a documentação do seu sistema.”
https://www.postgresql.org/docs/current/charset.html
https://www.ibm.com/docs/en/aix/7.1?topic=locales-understanding-locale-environment-variables
Para o Brasil, o LOCALE mais indicado é o pt_BR.UTF8.
Entretanto, a depender do cenário em que estejamos instalando o PostgreSQL, esse requisito pode mudar.
Segue a sequência de comandos para instalação do LOCALE pt_BR.UTF8 no Ubuntu/Debian
sudo apt -y install language-pack-pt-base
Veja os locales disponíveis no sistema
sudo localectl list-locales
Agora edite o arquivo /etc/default/locale para que fique com os seguintes dados:
sudo nano /etc/default/locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR.UTF-8
Logout e Login no Shell para atualizar as variáveis de ambiente.
Verifique as variáveis de ambiente configuradas para o LOCALE
sudo locate
INSTALAÇÃO DO PACOTE POSTGRESQL (TÓPICO)
1 - ETAPA - Instalação do repositório APT mantido pelo PostgreSQL Global Development Group (PGDG) - https://wiki.postgresql.org/wiki/Apt para distribuições Ubuntu/Debian
sudo apt -y install postgresql-common
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
2 - ETAPA - Instalação do PostgreSQL
2.1 - (NAS PASTAS PADRÕES DO PACOTE)
<<PG_VERSION_NUMBER>>: Substituir por o número da versão do PostgreSQL que se deseja instalar.
sudo apt -y install postgresql-<<PG_VERSION_NUMBER>>
Verificar o status da instalação
sudo pg_lscluster
2.2 - (EM UMA PASTA ESPECÍFICA ESCOLHIDA PELO USUÁRIO)
Por padrão, na instalação do pacote PostgreSQL, o mesmo inicializa a estrutura de diretórios do banco de dados, criando o cluster.
Não confundir com o conceito de cluster para alta disponibilidade.
O cluster em PostgreSQL nada mais é do que a estrutura de diretórios e arquivos de um conjunto de bancos de dados em uma mesma máquina. cluster->database->schema->table->column.
Para desabilitar essa criação automática do cluster na instalação do pacote, temos que modificar a seguinte linha presente no arquivo /etc/postgresql-common/createcluster.conf
# Create a "main" cluster when a new postgresql-x.y server package is installed
#create_main_cluster = true
Devemos modificar essa linha para:
create_main_cluster = false
O comando abaixo faz isso de forma automatizada:
sudo sed -i "s/^#create_main_cluster = true/create_main_cluster = false/" /etc/postgresql-common/createcluster.conf
Após fazer essa modificação, podemos agora instalar o pacote do PostgreSQL
<<PG_VERSION_NUMBER>>: Substituir por o número da versão do PostgreSQL que se deseja instalar.
sudo apt -y install postgresql-<<PG_VERSION_NUMBER>>
Agora que instalamos o daemon do PostgreSQL, iremos criar o cluster no local em que desejamos que os dados fiquem armazenados.
Para mais detalhes, veja o arquivo.
sudo gzip -d /usr/share/doc/postgresql-common/README.Debian.gz
sudo nano /usr/share/doc/postgresql-common/README.Debian
Para verificarmos o status do serviço PostgreSQL executamos o seguinte comando:
sudo /etc/init.d/postgresql status
Antes de criar o cluster, devemos criar o diretório e colocar o usuário postgres (que executa o daemon Postgres) como proprietário do mesmo:
sudo mkdir /data
sudo chown postgres /data
Para criarmos o cluster executamos o seguinte comando:
<<PG_VERSION_NUMBER>>: Substituir por o número da versão do PostgreSQL que foi instalada.
sudo pg_createcluster -d /data <<PG_VERSION_NUMBER>> main –start
Verificar o status da instalação
sudo pg_lscluster
3 - ETAPA 3 (TÓPICO) - PÓS INSTALAÇÃO
Após a instalação, deve-se verificar as configurações dos seguintes arquivos em /etc/postgresql/<<PG_VERSION_NUMBER>>/<<PG_CLUSTER_NAME>>:
postgresql.conf
pg_hba.conf
start.conf
postgresql.auto.conf (esse arquivo estará localizado na pasta de dados do cluster)
4 - MÃO NA RODA (TÓPICO) - RESUMO DOS COMANDOS PARA EXECUÇÃO EM SEQUÊNCIA
sudo apt -y install language-pack-pt-base
sudo nano /etc/default/locale
Change lines to:
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR.UTF-8
Logout/Login bash
sudo apt -y install postgresql-common
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
(NAS PASTAS PADRÕES DO PACOTE)
sudo apt -y install postgresql-<<PG_VERSION_NUMBER>>
pg_lscluster
(EM UMA PASTA ESPECÍFICA ESCOLHIDA PELO USUÁRIO)
sudo sed -i "s/^#create_main_cluster = true/create_main_cluster = false/" /etc/postgresql-common/createcluster.conf
sudo apt -y install postgresql-<<PG_VERSION_NUMBER>>
sudo mkdir /data
sudo chown postgres /data
sudo pg_createcluster -d /data <<PG_VERSION_NUMBER>> main –start
pg_lscluster
5 - EXTRAS (TÓPICO) - TRILHA SONORA PARA ACOMPANHAR A ATIVIDADE
A execução da atividade demora menos que o tempo do clip. ;-)
Comentários
Postar um comentário