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



LC_COLLATE

String sort order

LC_CTYPE

Character classification (What is a letter? Its upper-case equivalent?)

LC_MESSAGES

Language of messages

LC_MONETARY

Formatting of currency amounts

LC_NUMERIC

Formatting of numbers

LC_TIME

Formatting of dates and times



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. ;-)


Iron Man - Black Sabbath


Comentários

Postagens mais visitadas deste blog

Autovacuum, eu sou seu amigo, mas se puder me poupar trabalho, lhe agradeço.