Guia passo a passo: Instalando PostgreSQL no AlmaLinux 9
PostgreSQL é um sistema de gerenciamento de banco de dados gratuito e de código aberto com foco na extensibilidade e conformidade com SQL. PostgreSQL é um RDBMS (Sistema de gerenciamento de banco de dados relacional) avançado e de classe empresarial que oferece suporte a consultas SQL (relacionais) e JSON (não relacionais).
É um sistema de gerenciamento de banco de dados altamente estável, apoiado por mais de 20 anos de desenvolvimento pela comunidade de código aberto e tem uma forte reputação entre desenvolvedores e administradores de sistema por sua confiabilidade, flexibilidade, robustez de recursos e desempenho.
PostgreSQL é usado como banco de dados primário para aplicativos web, móveis e analíticos. Alguns usuários notáveis do PostgreSQL em todo o mundo são Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, etc.
Em seu tutorial você aprenderá como instalar o PostgreSQL no AlmaLinux 9. Além disso, você também aprenderá como configurar a autenticação PostgreSQL, o uso básico do PostgreSQL para criação de banco de dados e usuário, e algumas consultas básicas para criação de tabelas, inserção e recuperar dados, atualizar e excluir.
Pré-requisitos
Para começar, você deve ter os seguintes requisitos:
- Um servidor AlmaLinux 9.
- Um usuário não root com privilégios de administrador sudo/root.
Adicionando repositório PostgreSQL
Por padrão, o repositório AlamLinux fornece pacotes PostgreSQL. Mas, para obter o máximo do PostgreSQL, você pode instalar o PostgreSQL do repositório PostgreSQL. Isso garantirá que você também possa instalar a versão mais recente do PostgreSQL.
Na primeira etapa, você adicionará o repositório PostgreSQL ao seu servidor AlmaLinux 9. Você pode selecionar o repositório PostgreSQL na página de download do PostgreSQL.
Adicione o repositório PostgreSQL para RHEL 9 usando o seguinte comando. Este repositório pode ser usado para distribuições Linux derivadas do RHEL 9, incluindo CentOS 9 e AlmaLinux 9.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Depois que o repositório for adicionado, execute o seguinte comando para verificar a lista de repositórios disponíveis em seu sistema. Você deve obter vários PostgreSQL para diferentes versões de pacotes PostgreSQL se for bem-sucedido.
sudo dnf repolist
Agora, execute o seguinte comando para atualizar os repositórios AlmaLinux e obter a versão mais recente das informações de cache do pacote.
sudo dnf makecache -y
Instalando PostgreSQL
Depois de adicionar o repositório PostgreSQL, você pode instalar os pacotes do servidor PostgreSQL. Você pode instalar o PostgreSQL 11, 12, 13, 14 e a versão 15 mais recente por meio do PostgreSQL oficial.
A segunda etapa aqui é instalar a versão mais recente do PostgreSQL 15 no servidor AlmaLinux 9.
Execute o seguinte comando dnf para instalar o PostgreSQL 15 em seu servidor AlmaLinux. Insira y quando solicitado e pressione ENTER para prosseguir com a instalação.
sudo dnf install postgresql15 postgresql15-server postgresql15-contrib
Após instalar o PostgreSQL, execute o seguinte comando para inicializar os dados e configurações do PostgreSQL.
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
Agora, execute o comando systemctl abaixo para iniciar e habilitar o serviço PostgreSQL 15. Isso iniciará o serviço PostgreSQL na porta padrão 5432 e permitirá que o serviço PostgreSQL seja executado automaticamente na inicialização do sistema.
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
Por último, execute o seguinte comando para verificar o serviço PostgreSQL e garantir que o serviço esteja em execução.
sudo systemctl status postgresql-15
Se estiver em execução, você deverá ver uma saída como 'ativo (em execução)'.
Autenticação básica do PostgreSQL
É essencial conhecer a autenticação do PostgreSQL para garantir que os usuários do PostgreSQL do aplicativo possam efetuar login e acessar o banco de dados. Existem vários métodos de autenticação PostgreSQL, incluindo peer, trust, md5 e scram-sha-256. E você pode configurar e ajustar a autenticação PostgreSQL através da configuração 'pg_hba.conf' que está localizada no diretório '/var/lib/pgsql/VERSION/data/'.
Execute o comando cat abaixo para mostrar o arquivo padrão 'pg_hba.conf'.
cat /var/lib/pgsql/15/data/pg_hba.conf
No final das contas, você deve ter a configuração padrão assim:
Isso significa que para cada conexão local, será utilizado o método de autenticação de pares, que utiliza um soquete Unix. Se você se conectar ao PostgreSQL usando o comando a seguir, isso executará a conexão local através do método de autenticação peer e dosoquete Unix.
sudo -u postgres psql
Mas, se você especificar o host do servidor PostgreSQL como '-h localhost' e o usuário '-U postgres', você estará se conectando através do Autenticação de senha scram-sha-256, como o comando a seguir.
sudo -u postgres psql -h localhost -U postgres
Como você não tem a senha do usuário postgres padrão, você receberá um erro como este:
Alterando a senha do usuário postgres
Nesta seção, você configurará e alterará a senha do usuário padrão do PostgreSQL 'postgres'.
Primeiro, faça login no servidor PostgreSQL por meio de autenticação local.
sudo -u postgres psql
Agora, execute a seguinte consulta para configurar a senha do usuário padrão 'postgres' e digite 'quit' para sair. Além disso, certifique-se de alterar a seguinte senha com sua senha.
ALTER ROLE postgres WITH PASSWORD 'NewP4ssw0rd';
quit
Com a senha alterada para o usuário 'postgres', execute o seguinte comando para verificar sua senha. Quando solicitado, insira sua senha para o usuário 'postgres'.
sudo -u postgres psql -h localhost -U postgres
Quando estiver logado, execute a seguinte consulta para verificar a conexão detalhada. Você verá que se conectou ao servidor PostgreSQL 'localhost' com o usuário 'postgres' ao banco de dados de destino 'postgres'.
\conninfo
Criando usuário e banco de dados no PostgreSQL
Nesta seção, você aprenderá como criar um novo usuário e banco de dados no PostgreSQL, então vamos começar.
Você deve garantir que efetuou login no PostgreSQL por meio do cliente 'psql'. Você pode fazer login usando o seguinte comando.
sudo -u postgres psql -h localhost -U postgres
Agora, execute a seguinte consulta para criar um novo PostgreSQL chamado 'appuser' com a senha 'p4ssAppuser'. Quando for bem-sucedido, você deverá obter uma saída como 'CREATE ROLE'.
CREATE USER appuser LOGIN CREATEDB PASSWORD 'p4ssAppuser';
Execute a consulta a seguir para verificar a lista de usuários no PostgreSQL. Se for bem-sucedido, você deverá ver o novo usuário 'appuser' disponível na lista de usuários.
\du
Digite 'quit' para sair do servidor PostgreSQL.
quit
Em seguida, execute o seguinte comando para conectar-se ao servidor PostgreSQL usando o novo usuário 'appuser' para o banco de dados de destino 'postgres'. Quando solicitado, insira a senha do usuário 'appuser'.
sudo -u postgres psql -h localhost -U appuser -d postgres
Uma vez logado, execute a seguinte consulta para verificar a conexão atual. Você verá que efetuou login no PostgreSQL por meio de um novo usuário 'appuser' no banco de dados 'postgres'.
\conninfo
Agora, execute a seguinte consulta para criar um novo banco de dados 'appdb' com o proprietário padrão 'appuser'.
CREATE DATABASE appdb OWNER appuser;
Em seguida, verifique a lista de bancos de dados disponíveis em seu servidor PostgreSQL. Se for bem-sucedido, você deverá ver o banco de dados 'appdb' disponível no PostgreSQL com o proprietário 'appuser'.
\l
Agora você pode mudar do banco de dados 'postgres' para o novo banco de dados 'appdb' usando a consulta '\connect'. Em seguida, verifique sua conexão atual.
\connect appdb;
\conninfo
Neste ponto, você deve mudar para o novo banco de dados 'appdb'.
Digite 'quit' para sair do servidor PostgreSQL e verifique a conexão com o novo banco de dados 'appdb' por meio do usuário 'appuser' usando o seguinte comando.
sudo -u postgres psql -h localhost -U appuser -d appdb
Insira sua senha para 'appuser' quando solicitado. Após fazer login, verifique o status da conexão.
\conninfo
Você verá que se conectou ao novo banco de dados 'appdb' através do usuário 'appuser'.
Neste ponto, você criou um banco de dados e um usuário no PostgreSQL que está pronto para sua aplicação. Além disso, você também aprenderá como criar uma tabela, inserir e recuperar dados no PostgreSQL na próxima seção.
Criando Tabela
Após criar um novo banco de dados, você aprenderá como criar tabelas no PostgreSQL.
Com o banco de dados 'appdb', execute a seguinte consulta para criar uma nova tabela 'professores' com colunas 'nome', 'idade', 'endereço' e 'salário' .
CREATE TABLE teachers (
id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL,
address CHAR(50),
salary REAL
);
Agora, execute a consulta a seguir para exibir todas as tabelas disponíveis no banco de dados 'appdb' e você deverá ver a tabela 'teachers' que você criou.
\dt
Por último, verifique as colunas disponíveis na tabela 'professores' usando a seguinte consulta. Você deverá ver colunas como id, nome, idade, endereço e salário.
\d+ teachers
Inserindo dados na tabela
Com a tabela ‘professores’ criada, você aprenderá agora como inserir dados no PostgreSQL.
Execute as consultas a seguir para inserir novos dados na tabela 'professores'. Quando tiver sucesso, você deverá obter uma saída como INSERT 0 1.
INSERT INTO teachers (id,name,age,address,salary) VALUES (1, 'Lea', 25, 'California', 20000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (2, 'Lin', 35, 'Germany', 30000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (3, 'Lisa', 27, 'Canada', 40000.00);
Recuperando dados no PostgreSQL
Em seguida, execute a consulta SELECT para recuperar dados da tabela 'professores'. Isso recuperará todos os dados disponíveis das colunas disponíveis na tabela.
SELECT * FROM teachers;
Você também pode usar SELECT para recuperar dados de colunas específicas como esta. Você recuperará dados da coluna nome e salário no exemplo a seguir.
SELECT name,salary FROM teachers;
Atualizando dados no PostgreSQL
Execute a consulta a seguir para atualizar os dados atuais na tabela 'professores'. Isso atualizará a coluna 'endereço', onde a coluna 'nome' é 'Lisa'. Quando for bem-sucedido, você deverá obter uma saída como UPDATE 1.
UPDATE teachers SET address = 'France' WHERE name = 'Lisa';
Agora execute a seguinte consulta para verificar os dados recém-atualizados. E você deverá ver que a coluna 'endereço' foi alterada para 'França' para o nome 'Lisa'.
SELECT * FROM teachers WHERE name = 'Lisa';
Excluir banco de dados e usuário
Para limpar seu ambiente, você excluirá o banco de dados e o usuário que criou. Você excluirá o banco de dados 'appdb' e o usuário 'appuser' do seu servidor PostgreSQL.
Primeiro, você deve mudar para o banco de dados 'postgres' usando a seguinte consulta.
\connect postgres
Execute a seguinte consulta para excluir o banco de dados 'appdb' e, em seguida, verifique a lista de bancos de dados em seu servidor PostgreSQL e o banco de dados 'appdb' deve ser removido.
DROP DATABASE appdb
\l
Agora digite 'quit' para sair da sessão atual como 'appuser'. Isso é necessário antes de excluir o usuário 'appuser' do PostgreSQL.
quit
Em seguida, faça login como usuário padrão do PostgreSQL 'postgres' usando o seguinte comando.
sudo -u postgres psql
Uma vez logado, exclua o usuário 'appuser' usando a seguinte consulta. Se for bem-sucedido, você deverá obter uma saída como DROP ROLE.
DROP user appuser;
Agora verifique a lista de usuários disponíveis no PostgreSQL usando a consulta abaixo. O usuário 'appuser' deve ser excluído do PostgreSQL.
Com isso, você limpou a instalação do servidor PostgreSQL.
Conclusão
Parabéns! Com este tutorial, você instalou o PostgreSQL no AlmaLinux 9. Você instalou a versão mais recente do PostgreSQL 15 no AlmaLinux 9 do repositório oficial do PostgreSQL. Além disso, você também aprendeu o método básico de autenticação no PostgreSQL, como se conectar ao PostgreSQL via linha de comando do cliente psql PostgreSQL e como configurar uma senha para o usuário padrão do PostgreSQL 'postgres' . Por último e não menos importante, você também aprendeu algumas consultas básicas no PostgreSQL para criar bancos de dados, usuários e tabelas, inserir e recuperar dados e atualizar e excluir dados.