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!
