Introdução
O
PostgreSQL ou Postgres é um sistema de gerenciamento de banco de dados relacionados que fornece uma implementação da linguagem estruturada
SQL. Ele está em conformidade com as normas e possui muitos recursos avançados, como transações confiáveis e concorrência sem trava de leitura.
Este guia demonstra como instalar o Postgres em um servidor Ubuntu 20.04.
Pré-requisitos
Para acompanhar este tutorial, você precisará de um servidor Ubuntu 20.04 que tenha sido configurado seguindo nosso guia
Configuração Inicial do Servidor para Ubuntu 20.04. Após concluir este tutorial pré-requisito, seu servidor deve ter um usuário não-
root com permissões sudo e um firewall básico.
Passo 1 — Instalando o PostgreSQL
Para instalar o PostgreSQL, primeiro atualize o índice de pacotes local do seu servidor:
Então, instale o pacote Postgres jutamente com um pacote -contrib
que adiciona alguns serviços e funcionalidade adicionais:
- sudo apt install postgresql postgresql-contrib
Passo 2 — Usando as Roles PostgreSQL e Bancos de Dados
Por padrão, o Postgres usa um conceito chamado “roles” para lidar com a autenticação e autorização. Elas são semelhantes aos usuários e grupos convencionais de estilo Unix.
Após a instalação, o Postgres é configurado para usar a autenticação ident, o que significa que ele associa os roles com uma conta do sistema Unix/Linux que combine. Se um role existe no Postgres, um nome de usuário Unix/Linux com o mesmo nome é capaz de fazer login como aquele role.
O procedimento de instalação criou uma conta de usuário chamada postgres que está associada ao role padrão do Postgres. Existem algumas maneiras de utilizar essa conta para acessar o Postgres. Uma maneira é trocar para a conta postgres em seu servidor digitando:
Em seguida, você pode acessar o prompt do Postgres digitando:
Isso irá logar você no prompt do PostgreSQL, e daqui você está livre para interagir com o sistema de gerenciamento de banco de dados imediatamente.
Para sair do prompt do PostgreSQL, execute o seguinte:
Isso irá trazer você de volta ao prompt de comando do Linux postgres
.
Você também pode executar o comando que quiser com a conta postgres diretamente com o sudo
:
Isso irá logar você diretamente no Postgres sem o shell bash
intermediário.
Novamente, você pode sair da sessão interativa Postgres digitando:
Passo 3 — Criando um Novo Role
Se você tiver feito o login com a conta postgres, crie um novo usuário digitando:
Se, ao invés disso, você preferir usar o sudo
para cada comando sem mudar da sua conta usual, digite:
- sudo -u postgres createuser --interactive
De qualquer maneira, o script solicitará que você faça algumas escolhas e, com base nas suas respostas, executará os comandos corretos do Postgres para criar um usuário baseado nas suas especificações.
Output
Enter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
Passo 4 — Criando um Novo Banco de Dados
Outra suposição que o sistema de autenticação do Postgres faz por padrão é que para qualquer role usado para logar, esse role terá um banco de dados com o mesmo nome que ele pode acessar.
Isso significa que, se o usuário que você criou na última seção for chamado de sammy, esta role tentará se conectar a um banco de dados também denominado “sammy”, por padrão. Você pode criar o banco de dados apropriado com o comando createdb
.
Se você estiver logado com a conta postgres, você digitaria algo como:
Se, ao invés disso, você preferir usar o sudo
para cada comando sem mudar da sua conta usual, você digitaria:
- sudo -u postgres createdb sammy
Passo 5 — Abrindo um Prompt do Postgres com o Novo Role
Para logar com a autenticação baseada no ident
, você precisará de um usuário Linux com o mesmo nome que seu role e banco de dados do Postgres.
Se você não tiver um usuário do Linux que combine disponível, você pode criar um com o comando adduser
. Você terá que fazer isso através da sua conta não-root com privilégios sudo
(ou seja, não logado como o usuário postgres):
Uma vez que essa nova conta estiver disponível, você pode ou mudar e se conectar ao banco de dados digitando:
Ou você pode fazer isso em linha:
Este comando irá logar você automaticamente, supondo que todos os componentes tenham sido configurados corretamente.
Se você quiser que seu usuário se conecte a um banco de dados diferente, você pode fazer isso especificando o banco de dados dessa forma:
Uma vez logado, você pode verificar sua informação de conexão atual digitando:
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
Como instalar o PostgreSQL no Ubuntu 20.04: [Guia de início rápido]