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:

  • sudo apt update

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:

  • sudo -i -u postgres

Em seguida, você pode acessar o prompt do Postgres digitando:

  • psql

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:

  • \q

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:

  • sudo -u postgres psql

Isso irá logar você diretamente no Postgres sem o shell bash intermediário.

Novamente, você pode sair da sessão interativa Postgres digitando:

  • \q

Passo 3 — Criando um Novo Role

Se você tiver feito o login com a conta postgres, crie um novo usuário digitando:

  • createuser --interactive

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:

  • createdb sammy

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):

  • sudo adduser sammy

Uma vez que essa nova conta estiver disponível, você pode ou mudar e se conectar ao banco de dados digitando:

  • sudo -i -u sammy
  • psql

Ou você pode fazer isso em linha:

  • sudo -u sammy psql

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:

  • psql -d postgres

Uma vez logado, você pode verificar sua informação de conexão atual digitando:

  • \conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Conclusão

Agora, você está com o PostgreSQL configurado no seu servidor Ubuntu 20.04. Se você quiser aprender mais sobre o Postgres e como utilizá-lo, encorajamos você a verificar os seguintes guias:

0 Comments

Creative Commons License