Manager, Developer Education
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.
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.
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
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
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.
OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
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
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
OutputYou are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
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:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Algumas mensagens de erro apareceram mas eu segui em frente e no final funcionou. Muito obrigado me ajudou muito!