Como instalar PostgreSQL no CentOS 9, criar funções e bancos de dados

Como instalar PostgreSQL no CentOS 9, criar funções e bancos de dados

O PostgreSQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código aberto, conhecido por sua capacidade de lidar com grandes quantidades de dados — o que o torna uma opção popular para aplicações complexas e de grande escala.

Ele é compatível com vários tipos de dados, linguagens de programação, web stacks e sistemas operacionais, incluindo distribuições populares do Linux, como o CentOS.

Neste tutorial, explicaremos como instalar o PostgreSQL no CentOS 9. Você também conhecerá as instruções e os comandos básicos do postgres para gerenciar funções e bancos de dados. Vamos lá?

O que você precisará para instalar o PostgreSQL

Antes de instalar o PostgreSQL, certifique-se de que seu servidor atenda aos requisitos de hardware recomendados:

  • Processador de 1 GHz.
  • Pelo menos 2 GB de RAM.
  • Mínimo de 512 MB de espaço de armazenamento. 

Seu sistema também deve estar rodando o CentOS 9, pois as etapas de instalação podem ser diferentes no caso de outros sistemas.

Se você ainda não tem um servidor, recomendamos os planos de servidor dedicado da Hostinger. O plano KVM 1, que sai por a partir de R$ 26.99 /mês, oferece 1 núcleo vCPU4 GB de RAM e 50 GB de armazenamento, o que é mais do que suficiente para hospedar o PostgreSQL.

Além disso, você pode instalar facilmente múltiplos sistemas operacionais Linux no VPS da Hostinger sem executar nenhum comando: basta selecionar um dos nossos templates de sistema operacional. Nós atualizamos continuamente esses templates para adicionar suporte às distribuições mais recentes, incluindo o CentOS 9.

Os planos VPS da Hostinger também simplificam suas tarefas de gerenciamento do banco de dados PostgreSQL. Nosso backup automático semanal gratuito e o scanner de malware integrado te ajudarão a manter a integridade dos seus dados sem precisar gastar tempo com isso.

Se você precisar de ajuda para gerenciar seu servidor, basta recorrer ao Kodee, nosso assistente de IA. Com apenas algumas instruções simples, você receberá orientações sobre qualquer coisa que queira fazer, inclusive comandos e tarefas de manutenção.

Como instalar e criar um banco de dados PostgreSQL

Aqui estão as etapas para instalar o PostgreSQL no CentOS. Antes de prosseguir, conecte-se ao seu servidor usando um cliente SSH como PuTTY, Terminal ou o terminal do navegador da Hostinger.

1. Baixe e instale o PostgreSQL

Você pode instalar o pacote PostgreSQL de duas maneiras: por meio do repositório oficial ou o local. Neste tutorial, usaremos o repositório oficial, pois ele é atualizado mais rapidamente do que o local. Aqui estão as etapas:

  1. Adicione o repositório PostgreSQL ao seu sistema usando o seguinte comando:
 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  1. Desative o módulo PostgreSQL nativo do seu sistema para evitar instalar a versão incorreta:
sudo dnf -qy module disable postgresql
  1. Instale o servidor PostgreSQL executando este comando. Se você quiser configurar outra versão, substitua 17 pelo número correspondente:
sudo dnf install -y postgresql17-server
  1. Inicialize o banco de dados para definir os arquivos e a configuração necessários para o PostgreSQL:
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
  1. Inicie e habilite o PostgreSQL durante a inicialização executando esses comandos um após o outro:
sudo systemctl enable postgresql-17
sudo systemctl start postgresql-17

E é isso! Antes de acessar o banco de dados, certifique-se de que o PostgreSQL esteja em execução verificando seu status com este comando:

sudo systemctl status postgresql-17
status de serviço do PostgreSQL no systemctl

2. Conecte-se ao shell do PostgreSQL

Para gerenciar o banco de dados, você deve se conectar ao shell de linha de comando do PostgreSQL, ou psql. Para isso, alterne para o usuário raiz do postgres, que vem pré-configurado durante a instalação:

sudo su postgres

Seu prompt do shell deve mudar. Agora, entre no shell do PostgreSQL usando este comando:

psql

Quando sua linha de comando mudar para Postgres=#, você poderá gerenciar seu banco de dados. Para sair do prompt do PostgreSQL e retornar ao shell principal do sistema, digite o seguinte:

\q

3. Criando uma nova função

Uma função (role) no PostgreSQL é idêntica a um usuário ou grupo – uma entidade que você pode usar para gerenciar seus bancos de dados e permissões de acesso no PostgreSQL. Para configurar uma função, use a seguinte instrução:

CREATE ROLE my_role;

Como não definimos uma senha, a instrução acima criará uma nova função sem um privilégio de login. Pense nessa função como semelhante aos grupos, que são úteis para gerenciar privilégios.

Se você quiser criar uma função com uma permissão de login semelhante à de um usuário, use o seguinte comando:

CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password';

Ao criar uma função, você pode adicionar as permissões posteriormente usando o comando GRANT. Como alternativa, você pode usar a configuração interativa para atribuir os privilégios respondendo a perguntas.

Para fazer isso, saia do shell do PostgreSQL e volte a usar o usuário postgres. Em seguida, execute este comando:

createuser --interactive
criando função no fluxo interativo do PostgreSQL

Basta responder às perguntas para configurar uma função de acordo com suas necessidades. Para verificar todas as funções em seu banco de dados, execute o seguinte comando no shell psql:

\du

Se quiser entrar no shell do postgres usando essa função, você também deverá criar um novo usuário Linux correspondente em seu sistema. Aqui está o comando:

sudo adduser new-user

A conexão ao psql como a nova função também requer um banco de dados. Se o usuário não tiver um, você poderá usar o banco de dados postgres padrão. O comando é o seguinte:

sudo -u new-user psql -d postgres 

Importante! Para acessar a linha de comando do psql como outro usuário, execute o comando login no shell principal do sistema.

4. Criando um novo banco de dados

Para criar um novo banco de dados PostgreSQL, faça login no shell psql como um usuário que possui as permissões necessárias.

Agora, crie um novo banco de dados executando o seguinte comando.

CREATE DATABASE db_name;

Liste todos os bancos de dados para verificar se você criou o novo banco de dados com sucesso. Aqui está o comando:

\1
lista de bancos de dados no PostgreSQL

Agora, conecte-se ao novo banco de dados executando o comando abaixo. Substitua db_name pelo nome real do banco:

\c db_name

Depois de se conectar, você pode verificar as informações sobre o banco de dados atual digitando:

\conninfo

5. Adicionando e removendo tabelas do banco de dados

Os RDBMS, como o PostgreSQL, organizam os dados em tabelas compostas por linhas e colunas. Para um gerenciamento mais eficiente, é possível agrupar tabelas relacionadas em uma categoria chamada esquema (schema).

Por exemplo, você pode organizar tabelas sobre dados de funcionários e faturas de folha de pagamento em um esquema de recursos humanos (HR). Para criar um esquema, use a seguinte instrução:

CREATE SCHEMA schema_name;

Para criar uma tabela dentro do esquema, basta adicionar o nome do esquema no início da declaração, da seguinte forma:

CREATE TABLE schema_name.table_name (

    column1 data_type constraints,

    column2 data_type constraints,

    ...

);

Ao criar uma tabela, liste as colunas separadas por vírgula. Cada coluna deve conter um tipo de dado para especificar os valores a serem inseridos e uma restrição para definir os critérios de dados.

Por exemplo, você pode definir o tipo dos dados como inteiros, caracteres ou valores booleanos. Enquanto isso, você pode definir uma restrição para permitir apenas valores não vazios ou dados exclusivos que outras colunas não tenham.

Aqui está um exemplo de instrução que cria uma tabela de dados de funcionários dentro do esquema de RH, contendo quatro colunas para IDs, nome e sobrenome, bem como data de contratação:

CREATE TABLE hr.employees (

    employee_id SERIAL PRIMARY KEY,

    first_name VARCHAR(100) NOT NULL, 

    last_name VARCHAR(100) NOT NULL,

    hire_date DATE NOT NULL  

);

Para verificar a tabela, digite o seguinte em seu shell de linha de comando psql:

\d table-name

Se quiser verificar tabelas pertencentes a outro esquema, use esse comando:

\dt schema-name.table
tabela de banco de dados no PostgreSQL

6. Inserindo, atualizando e excluindo dados em uma tabela

Depois de configurar uma tabela e colunas, você pode começar a preenchê-las com dados. Para isso, especifique a tabela e as colunas nas quais você deseja inserir os dados e, em seguida, liste os valores da seguinte forma:

INSERT INTO hr.employees (first_name, last_name, hire_date)

VALUES

    ('John', 'Doe', '2024-01-15'),

    ('Jane', 'Smith', '2023-11-10');

No exemplo, inserimos valores nas colunas nome (first_name), sobrenome (last_name) e data de contratação (hire_date) da tabela de funcionários. A primeira linha terá dados sobre John Doe, enquanto a segunda conterá detalhes sobre Jane Smith.

Para verificar o valor de uma linha específica, você pode usar uma condição específica como filtro. Por exemplo, o seguinte procedimento procurará um funcionário usando seu ID:

SELECT * FROM employees

WHERE employee_id = 1;

Você também pode usar condições para atualizar o valor de uma linha específica. Por exemplo, essa instrução mudará Jane Smith para Jane Doe:

UPDATE employees

SET last_name = 'Doe'

WHERE employee_id = 2;

Além disso, as condições são úteis para excluir dados. Por exemplo, excluiremos os dados do funcionário com o ID 1:

DELETE FROM employees

WHERE employee_id = 1;

A exclusão de uma linha removerá completamente a entrada da tabela. Isso não afetará os dados acima e abaixo, a menos que eles tenham restrições específicas, como o relacionamento de chave estrangeira.

Conclusão

Neste artigo, explicamos como instalar o PostgreSQL no CentOS 9. Antes de configurá-lo, certifique-se de que você tem um servidor que atenda aos requisitos mínimos do sistema, como o plano VPS KVM 1 da Hostinger.

Em seguida, instale o PostgreSQL usando as etapas a seguir:

  1. Faça o download do pacote PostgreSQL mais recente e ative seu serviço usando o systemctl
  2. Conecte-se ao shell do PostgreSQL alternando para a conta postgres e digitando psql.
  3. Crie uma nova função com permissão de login em seu banco de dados e sistema Linux.
  4. Crie um novo banco de dados usando uma função com permissão suficiente, como postgres.
  5. Adicione uma tabela para organizar os dados em seu banco de dados inserindo o comando CREATE
  6. Preencha e gerencie dados em suas tabelas de banco de dados usando instruções como INSERT UPDATE.

Esperamos que este artigo tenha ajudado você a configurar um banco de dados PostgreSQL em seu sistema CentOS 9. Se tiver alguma dúvida ou problema, deixe um comentário abaixo. Boa sorte!

Perguntas frequentes sobre como instalar PostgreSQL no CentOS

Por fim, vamos conferir algumas perguntas frequentes sobre como instalar o PostgreSQL no CentOS 9.

Como verificar se o PostgreSQL está instalado corretamente?

Há algumas maneiras de verificar se o PostgreSQL está instalado. Uma delas é iniciar o banco de dados usando o comando systemctl:
sudo systemctl start postgresql-17
Certifique-se de substituir 17 pela versão que você instalou de fato. Se sua linha de comando retornar um erro de serviço ausente, isso significa que o PostgreSQL não está configurado corretamente. 
Outro método é fazer login na linha de comando do PostgreSQL usando o seguinte:
sudo -u postgres psql
Se você encontrar o erro command not found, isso significa que o RDBMS não está instalado corretamente.

Como acessar a interface de linha de comando do PostgreSQL?

Para acessar a interface de linha de comando do PostgreSQL, também conhecida como shell psql, alterne para a conta padrão do postgres usando este comando:
sudo su postgres
Agora, basta digitar psql, e o shell deverá mudar para o PostgreSQL, indicando que você acessou a interface de linha de comando. Para sair do shell, digite o seguinte:
\q
Você também pode usar um único comando em seu shell principal para entrar no psql da seguinte forma:
sudo -u postgres psql

Por que estou tendo problemas ao instalar o PostgreSQL?

Vários fatores podem causar problemas durante a instalação do PostgreSQL. Se você encontrar erros ao fazer o download do pacote, verifique se o comando está correto e se o URL do download correto está de acordo com o seu sistema operacional.
Se surgir um problema ao se conectar ao shell psql, verifique se o serviço postgresql está em execução usando esse comando:
sudo systemctl status postgresql-17
Se o status do PostgreSQL não estiver em execução, inicialize-o manualmente usando este comando:
sudo systemctl start postgresql-17

Por que não consigo me conectar a outra função do PostgreSQL?

Se não conseguir se conectar a uma nova função do PostgreSQL, verifique se criou o usuário correspondente no seu sistema Linux. Por exemplo, se você configurar a função new_user, seu servidor também deverá ter a mesma conta new_user.
Além disso, você deve especificar o banco de dados a ser conectado. Se o novo usuário não tiver um banco de dados, use ob anco de dados postgres padrão, como neste comando:
sudo -u NewUser psql -d postgres
Além disso, tente criar a nova função usando a instrução abaixo em vez do modo interativo para conceder explicitamente o privilégio de login. 
CREATE ROLE my_role WITH LOGIN PASSWORD 'my_password'

Author
O autor

Bruno Santana

Jornalista formado pela Universidade Federal da Bahia e Especialista em Marketing de Conteúdo na Hostinger, onde atuo na criação e otimização de artigos úteis, envolventes e criativos em áreas como desenvolvimento web e, marketing. Além disso, sou colaborador eventual do site MacMagazine e da editoria de cultura do Jornal A Tarde, fascinado por arte, culinária e tecnologia.