Como Instalar PostgreSQL no CentOS 7

Como Instalar PostgreSQL no CentOS 7

O PostgreSQL é uma plataforma de base de dados relacional poderosa e de código aberto. Ela é escalável através de múltiplas plataformas e é amplamente usada e muito amada também. Neste tutorial, vamos mostrar como instalar o PostgreSQL no CentOS 7!

Como Funciona o PostgreSQL?

O PostgreSQL usa SQL para consultas relacionais e JSON para consultas não-relacionais. Uma vantagem de usar o PostgreSQL é o imenso suporte de sua comunidade! Sua natureza de código aberto significa que diversos desenvolvedores poderão contribuir para o crescimento dessa ferramenta.

A plataforma PostgreSQL é escalável, confiável e acompanhada de recursos de otimização avançados. Na maioria dos casos, as pessoas supõem que otimização avançada e tipos de dados são suportados apenas por bases de dados comerciais como SQL Server e Oracle. Na contramão dessa ideia, o PostgreSQL proporciona tudo isso e muitos outros recursos avançados, definitivamente fazendo com que seja uma adição valiosa ao seu VPS.

Mesmo assim, o PostgreSQL é extremamente simples de se começar a usar e também de se dominar.

Aqui, iremos demonstrar como instalar o PostgreSQL no CentOS 7.

Você pode instalar o PostgreSQL no CentOS 7 usando um dos dois métodos abaixo:

  1. Instalar o PostgreSQL a partir de repositórios CentOS existentes
  2. Instalar diretamente do repositório PostgreSQL

Vamos checar cada método de maneira mais detalhada:

Primeiro Método – Instalar através dos repositórios do CentOS 7

O repositório do CentOS 7 já contém o PostgreSQL. Note, porém, que ele pode não ter a versão mais recente do PostgreSQL. No momento em que este artigo foi escrito, o repositório traz o PostgreSQL versão 9.2.15.

1. Acesse Seu Servidor

Lembre-se, antes de começar a instalar o PostgreSQL no CentOS 7, precisamos acessar nosso servidor dedicado (VPS) usando SSH. Confira nosso tutorial de PuTTY se estiver encontrando problema.

2. Instale o PostgreSQL no CentOS 7

É bastante simples instalar o PostgreSQL a partir dos repositórios do CentOS 7. Comece com o seguinte comando:

sudo yum install postgresql-server postgresql-contrib

O processo pode levar algum tempo até ser finalizado.

3. Faça o Setup da Base de Dados

Assim que a instalação estiver completa, você pode fazer o setup da base de dados usando o comando abaixo:

sudo postgresql-setup initdb

4. Inicie a Base de Dados

Após inicializar a base de dados através do setup, você pode finalmente iniciá-la com o comando:

sudo systemctl start postgresql

5. (Opcional) Habilite o PostgreSQL

Isso completa a instalação e a inicialização da base de dados. Se for necessário, você pode configurar o PostgreSQL para iniciar toda vez que o sistema reiniciar automaticamente:

sudo systemctl enable postgresql

Segundo Método  – Instalar através do repositório do PostgreSQL

Com este método, você pode baixar qualquer versão recente do PostgreSQL, incluindo a mais nova, diretamente através do site oficial. Você pode selecionar a versão do PostgreSQL a partir dos repositórios PostgreSQL yum. Atualmente, ele exibe a versão 9.6 como a mais recente.

1. Acesse seu Servidor

Assim como no método anterior, primeiramente é necessário acessar nosso servidor usando SSH.

2. Baixe o PostgreSQL com o Wget

Agora iremos baixar a versão 9.6.3 do PostgreSQL. De maneira similar, você pode fazer download de qualquer versão. Isso pode ser feito através do comando wget:

wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Isso também requer os repositórios RPM ou RedHat Package Manager, junto dos repositórios EPEL (Extra Packages Enterprise Linux). Esses repositórios são necessários para dependências adicionais do PostgreSQL.

3. Instale o PosgreSQL no CentOS 7 com o Pacote Baixado

Isso pode ser feito com o seguinte comando:

sudo yum install pgdg-centos96-9.6-3.noarch.rpm epel-release

4. Atualize o Yum

Atualize o yum para que suas mudanças sejam refletidas no servidor. Use o este comando para isso:

sudo yum update

5. Complete o Processo de Instalação do para o CentOS 7

Isso finaliza nossos pré-requisitos de instalação do PostgreSQL. A seguir, podemos instalá-lo usando o comando abaixo:

sudo yum install postgresql96-server postgresql96-contrib

Isso completa nossa instalação do PostgreSQL.

6. Inicialize a Base de Dados

Em seguida, você pode inicializar a base de dados usando:

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

7. Reinicie o PostgreSQL

Você pode reiniciar o PostgreSQL com o comando:

sudo systemctl start postgresql-9.6

8. (Opcional) Habilite que o PostgreSQL Inicie na Reinicialização

Caso você queira que o PostgreSQL inicie automaticamente na reinicialização do sistema, você pode opcionalmente usar o comando abaixo:

sudo systemctl enable postgresql-9.6

Configuração Básica do PostgreSQL

Por padrão no Linux, um usuário chamado postgres é criado assim que o PostgreSQL é instalado. Você pode mudar a senha desse usuário usando o seguinte comando:

sudo passwd postgres

Você receberá uma solicitação para inserir a nova senha duas vezes.

A seguir, você pode mudar para o prompt do PostgreSQL e mudar a senha do usuário postgres usando:

su - postgres

Se você receber uma mensagem de erro, pode configurar um shell válido para esse usuário com o seguinte comando:

su --shell /bin/bash postgres

Depois, execute o mesmo comando:

su - postgres

Para mudar a senha, use o comando abaixo, trocando o texto NovaSenha pela sua nova senha:

psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'NovaSenha';"

Você pode trocar para o client shell do PostgreSQL usando:

psql postgres

Aqui, você pode conferir a lista de comandos disponíveis ao digitar \h. Você pode usar \h seguido do comando do qual você precisa de mais informações. Para sair desse ambiente, você pode digitar \q.

O comando createdb permite que você crie novas bases de dados. Suponha que queremos criar uma nova base de dados chamada de testDB e que usa o usuário do Linux postgres. O comando que usuários ficaria assim:

createdb testDB

Você pode criar uma nova role usando o comando createuser. Abaixo está um exemplo onde criamos uma role chamada roledetestes usando o usuário do Linux postgres.

createuser roledetestes –pwprompt

Aqui você verá uma solicitação para configurar uma senha para o usuário.

Opcionalmente, você pode definir a posse de nossa base de dados recém-criada para uma role ou usuário específico do postgres. Isso pode ser feito com um comando como o seguinte:

createdb testDB -O roledetestes

No comando acima, troque roledetestes pela role que você desejar usar.

Você pode se conectar a essa nova base de dados usando o comando abaixo:

psql testDB

Caso você queira usar uma role ou usuário específico para se logar, opte por um comando como o mostrado abaixo:

psql testDB -U roledetestes

Isso irá resultar num pedido para que você digite a senha.

Você usar os comandos \l ou \list para mostrar todas as bases de dados. Para saber qual a base de dados em que você está mexendo atualmente, use \c. No caso de você desejar mais informações sobre conexões como socket, porta, etc. você tem à sua disposição o comando \conninfo.

Também dá para remover ou eliminar uma base de dados usando o comando dropdb. Contudo, lembre-se de verificar o que você está deletando antes de fazê-lo. Bases de dados deletadas não podem ser recuperadas.

Para deletar uma base de dados, você pode usar:

dropdb testDB

De maneira similar com outras bases de dados, o PostgreSQL permite:

  • Criação de tabelas
  • Deletar tabelas
  • Atualizar tabelas
  • Adicionar colunas
  • Deletar colunas
  • Consultar uma tabela
  • Alterar comandos
  • Conceder privilégios

A sintaxe para todos esses comandos é similar aos comandos da maioria das bases de dados. Você pode listar todas as tabelas usando o comando \dt. Para listar todas as roles, use o comando \du. Encorajamos que você leia a documentação oficial para aprender mais sobre o assunto!

Conclusão

Com esse último passo, terminamos de mostrar para você o processo de instalação do PostgreSQL no CentOS 7 e também te levamos através da configuração básica do PostgreSQL. Existem diversas coisas que ainda podem ser aprendidas dentro do PostgreSQL. A partir desse ponto de partida, você pode começar a explorar mais e aprender novos comandos para o PostgreSQL!

Author
O autor

Carlos E.

Carlos Estrella é formado em jornalismo pela UFSC e tem as funções de redator, tradutor e SEO na Hostinger Brasil. Já trabalhou com jornalismo de games e tecnologia e hoje aplica essa experiência escrevendo posts e tutoriais no blog da Hostinger. Suas paixões incluem games, dar rolês com a namorada e amigos e ler artigos aleatórios da Wikipédia de madrugada.