Pesquisa de site

Como instalar e usar o PostgreSQL no Ubuntu 18.04


PostgreSQL (Postgres em resumo) é um sistema de banco de dados de documentos relacionais de código aberto, poderoso, avançado, de alto desempenho e estável. Ele usa e aprimora a linguagem SQL juntamente com um grande número de recursos para armazenamento e gerenciamento seguro de dados.

É eficiente, confiável e escalável para lidar com grandes e complicados volumes de dados e configurar ambientes de nível empresarial e tolerantes a falhas, garantindo ao mesmo tempo alta integridade dos dados. O Postgres também é altamente extensível com recursos como índices e APIs para que você possa desenvolver suas próprias soluções para resolver seus desafios de armazenamento de dados.

Neste artigo, explicaremos como instalar o PostgreSQL em um servidor Ubuntu 18.04 (também funciona em versões mais antigas do Ubuntu) e aprenderemos algumas maneiras básicas de usá-lo.

Como instalar o PostgreSQL no Ubuntu

Primeiro, crie um arquivo /etc/apt/sources.list.d/pgdg.list que armazena a configuração do repositório, depois importe a chave do repositório para o seu sistema, atualize a lista de pacotes do sistema e instale o pacote Postgres usando os seguintes comandos.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

Depois que o postgres for instalado, o serviço de banco de dados será iniciado automaticamente e você poderá confirmar digitando o seguinte comando.

sudo systemctl status postgresql.service

Como usar funções e bancos de dados PostgreSQL

No postgres, a autenticação do cliente é controlada pelo arquivo de configuração /etc/postgresql/10/main/pg_hba.conf. O método de autenticação padrão é “peer ” para o administrador do banco de dados, o que significa que ele obtém o nome de usuário do sistema operacional do cliente do sistema operacional e verifica se ele corresponde ao nome de usuário do banco de dados solicitado para permitir o acesso, para conexões locais (conforme mostrado na imagem a seguir).

Durante o processo de instalação, uma conta de usuário do sistema chamada postgres foi criada sem senha, este também é o nome de usuário padrão do administrador do banco de dados.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Além disso, no postgres o gerenciamento de permissões de acesso ao banco de dados é realizado através de funções. Uma função pode ser considerada um usuário de banco de dados ou um grupo de usuários de banco de dados, dependendo de como a função está configurada.

A função padrão também é postgres. É importante ressaltar que as funções de banco de dados são conceitualmente totalmente desconectadas dos usuários do sistema operacional, mas na prática podem não ser separadas (por exemplo, quando se trata de autenticação de cliente).

É importante ressaltar que as funções podem possuir objetos de banco de dados e atribuir privilégios nesses objetos a outras funções para controlar quem tem acesso a quais objetos. Além disso, é possível conceder a adesão de uma função a outra função.

Para configurar outras funções para usar senhas criptografadas para gerenciar bancos de dados atribuídos a elas, além da função postgres padrão, você precisa alterar a linha para.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Como usar PostgreSQL no Ubuntu

Depois de tudo configurado, você pode acessar a conta do sistema postgres com o seguinte comando, onde o sinalizador -i diz ao sudo para executar o shell especificado pela entrada do banco de dados de senha do usuário alvo como um shell de login.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

Para acessar o shell do postgres diretamente, sem primeiro acessar a conta de usuário do postgres, execute o seguinte comando.

sudo -i -u postgres psql

Você pode sair/sair do postgres digitando o seguinte comando.

postgres=# \q

Crie funções de banco de dados PostgreSQL

Crie uma nova função de usuário usando o comando a seguir.

postgres=# CREATE ROLE tecmint;

Para criar uma função com um atributo LOGIN, use o seguinte comando (funções com o atributo LOGIN podem ser consideradas iguais a usuários de banco de dados).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Uma função também pode ser criada com uma senha, o que é útil se você configurou o método de autenticação do cliente para solicitar aos usuários que forneçam uma senha criptografada ao se conectarem ao banco de dados.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Listar funções de banco de dados PostgreSQL existentes

Para listar as funções de usuário existentes, use qualquer um destes comandos.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Eliminar uma função de banco de dados PostgreSQL

Para eliminar qualquer função de usuário existente, use o comando DROP ROLE conforme mostrado.

postgres=# DROP ROLE tecmint;

Crie um banco de dados PostgreSQL

Depois de criar uma função com um nome específico (por exemplo, usuário tecmint), você pode criar um banco de dados (com o mesmo nome da função) que será gerenciado por essa função, conforme mostrado.

postgres=# CREATE DATABASE tecmint;

Agora para gerenciar o banco de dados tecmint, acesse o shell postgres como a função tecmint, forneça sua senha conforme a seguir.

sudo -i -u tecmint psql

Crie uma tabela PostgreSQL

Criar tabelas é tão fácil que criaremos uma tabela de teste chamada autores, que armazena informações sobre os autores do TecMint.com, conforme mostrado.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Após criar uma tabela, tente preenchê-la com alguns dados, conforme segue.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Para visualizar os dados armazenados em uma tabela, você pode executar um comando SELECT.

tecmint=> SELECT * FROM authors;

Listar tabelas de banco de dados PostgreSQL

Você pode listar todas as tabelas do banco de dados atual com o seguinte comando.

tecmint=>\dt

Excluir/descartar uma tabela PostgreSQL

Para excluir uma tabela do banco de dados atual, use o comando DROP.

tecmint=> DROP TABLE authors;

Listar todos os bancos de dados PostgreSQL

Para listar todos os bancos de dados, use qualquer um dos comandos a seguir.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Excluir/descartar um banco de dados PostgreSQL

Se quiser excluir um banco de dados, utilize o comando DROP, por exemplo.

tecmint=>DROP DATABASE tecmint;

Mudar para outro banco de dados PostgreSQL

Você também pode alternar facilmente de um banco de dados para outro usando o seguinte comando.

tecmint=>\connect database_name

Para obter mais informações, consulte a documentação do PostgreSQL 10.4.

Por enquanto é isso! Neste artigo, explicamos como instalar e usar o sistema de gerenciamento de banco de dados PostgreSQL no Ubuntu 18.04. Você pode nos enviar suas dúvidas ou opiniões nos comentários.