Instalando PostgreSQL-14 em ambiente Linux

IMAGE

Neste post irei realizar o tutorial para a instalação de um Servidor PostgreSQl em um ambiente Linux ( CentOS7 ) onde passarei desde a configuração inicial até a criação de banco de dados tabelas e usuários um tutorial bem completo para realizar a configuração do mesmo do 0 até o fim para iniciar a utilização dele como seu banco de dados principal.

Instalação

Para realizar a instalação primeiramente teremos que excluir os arquivos de postgreSQL dos repositórios padroes do CentOS e para isso iremos alterar o Seguinte arquivo:

/etc/yum.repos.d/CentOS-Base.repo

Neste arquivo iremos adicionar a seguinte linha nele e isso tem que ser feito em, cada um dos repositórios do arquivo

exclude=postgresql*

Após isso iremos atualizar nossos repositórios rodando o seguinte comando para instalar o repositório do postgreSQL

yum install <https://download.postgresql.org/pub/repos/\
yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm> -y

E com isso teremos nosso arquivo de repositórios sendo preenchido com mais um repositório desta vez o do PostgreSQL

Após isso podemos rodar um comando para listar quais postgreSQL estão em nosso pacote disponível para a instalação

O comando que teremos que rodar é o seguinte:

yum list postgresql* -y

Após isso você devera receber uma lista de todos os postgreSQL disponíveis em nosso pacote

Então você poderá escolher o tipo de instalação e qual versão ira instalar em nosso caso escolhemos a seguinte:

yum install postgresql14-server -y

Após rodar o comando ele iniciará a instalação do PostgreSQL

Após a instalação estar completa você pode rodar o seguinte comando

/usr/pgsql-14/bin/postgresql-14-setup initdb

Este comando iniciara os arquivos de configuração do Banco que ficarão no seguinte caminho

/var/lib/pgsql/14/data

Configuração

A partir deste ponto podemos realizar as configurações que desejarmos no nosso banco e a única que faremos neste caso é a alteração da porta onde o PostgreSQL roda

Para isso iremos alterar o seguinte arquivo

postgresql.conf

Para isso abriremos o arquivo com o seguinte comando:

vi postgresql.conf

Iremos alterar a linha 64 do arquivo e para saber em qual linha estamos no VI utilizamos o Seguinte comando

:set nu

E então vera algo parecido com isto:

A porta que iremos alterar é para o seguinte valor: 5455

Após esta alteração poderemos iniciar os serviços do Banco de dados

Iniciando Serviço

Para iniciarmos o serviço iremos realizar o seguinte comando:

systemctl enable postgresql-14

Isso ira tornar o script enable o que iniciara ele juntamente com o sistema toa vez

E então iremos rodar o seguinte comando para dar um start no serviço

systemctl start postgresql-14

E para validarmos se o serviço esta rodando corretamente rodamos o seguinte comando

systemctl status postgresql-14

Se tudo estiver rodando conforme esperado deve receber o seguinte Output:


Validações

Para validarmos se a porta esta correta iremos ir ate a pasta onde os logs do PostgreSQL São Armazenados e abrir o arquivo de log e verificar em qual porta ele esta rodando.

O arquivo de log fica no seguinte caminho: /var/lib/pgsql/14/data/log

Para abrir ele basta rodar o seguinte comando

cat postgresql-Thu.log

E você devera receber o seguinte Output:

Onde podemos ver que a alteração da porta funcionou corretamente

Outra validação que podemos realizar é conexão ao banco de dados através da linha de comando com o PSQL, para isso teremos que fazer login com o usuário Postgres.

Após logar com o usuário Postgres, rodamos o seguinte comando

psql -p 5455

Onde iremos conectar ao nosso banco e para confirmar isso sua linha de comando devera icar da seguinte maneira


E após isso podemos realizar a leitura de uma tabela para realizar o teste de leitura no banco de dados

Para isso rodaremos o seguinte comando

select * from pg_catalog.pg_tables

E isso devera retornar um output como este:

Após isso seu banco já esta configurado para ser utilizado!

Adicionais

Criando um DataBase

Databases são locais no banco de dados onde armazenamos nossas tabelas e para finalizar este tutorial não estaria certo sem mostrar como criar um novo DB dentro do postgreSQL

Para criarmos um DB dentro do postgreSQL iremos utilizar o seguinte comando

create database testedb;

Se tudo correr bem você devera receber o seguinte output:

Após isso podemos conectar ao Banco de dados realizando o seguinte comando

\c testedb

E se tudo correr bem recebera o seguinte Output:

Pronto você já possui um Banco de dados Criado para armazenar suas tabelas

Criando uma tabela

Para finalizarmos mesmo precisaríamos ensinar a criar uma tabela e a inserir alguns registros nela para que possamos ficar com a consciência tranquila quanto a tudo ser passado nos mínimos detalhes

Para criamos nossa tabela rodaremos o seguinte comando

create table testetable( Nome varchar(45) not null);

Se tudo correr bem deve receber o seguinte output:

E deve rodar o seguinte comando pra visualizar as tabelas do DB

\dt

O output devera ser o seguinte:

Após isso podemos passar um registro para dentro da tabela e fazer um select dele para verificar se esta tudo certo

Para inserir um registro usamos o seguinte comando

insert into testetable values('Juan Ormelli');

E para verificarmos se esta tudo certo utilizamos o seguinte comando

select * from testetable;

Então podemos verificar que esta tudo rodando corretamente.

Criação do usuário e aplicação de roles

Para realizarmos a criação do usuário é bem simples teremos que logar primeiramente como Postgres em nosso sistema operacional e então rodaremos o seguinte comando

createuser --interactive --pwprompt -p 5455

E serão feitas algumas perguntas para nós e iremos passar as respostas conforme nossa necessidade conforme abaixo:

Para validarmos se o Usuário foi criado logamos no PostgreSQL e passamos o seguinte comando

\du

E se tudo correu bem seu usuário ira aparecer aqui conforme abaixo:

Bom com isso finalizamos toda a instalação e configuração do nosso banco de dados onde podemos a partir deste ponto começarmos a utilizar ele da maneira como quisermos seja para projetos para dados aleatórios ou qualquer outra coisa!