O PostgreSQL é um banco de dados relacional que tem suas raízes no código-fonte do Ingres, projeto criado no início da década de 70 e que serviu de base, também, para o Microsoft SQL Server e o Sybase.
Ele é conhecido por ser um gerenciador consideravelmente avançado e compatível com vários sistemas operacionais e linguagens de programação, além de ser modelo para o padrão ANSI e 100% open source, ou seja, a versão completa do PostgreSQL está disponível gratuitamente.
Veja também o artigo: Domine o psql: Técnicas Essenciais para Administrar o PostgreSQL de Forma Eficaz
Ficou interessado em conhecer melhor o que o PostgreSQL tem a oferecer? Então o presente conteúdo atende muito bem aos seus interesses! Aqui, você aprenderá a instalá-lo, utilizar alguns dos comandos básicos e, também, conhecerá o cliente pgAdmin.
Instalação do PostgreSQL no Ubuntu
Este passo a passo foi criado com base na versão 18.04 do Ubuntu Server, portanto, para evitar problemas com a instalação, recomendo que instale o sistema operacional em sua máquina virtual do VirtualBox para seguir as instruções.
Vale frisar que a instalação de um gerenciador de banco de dados no Linux, independentemente da distro, requer configuração básica de firewall e a criação de usuário com permissões sudo que não seja root — caso você não saiba como fazer tais procedimentos, darei uma ótima dica no final do post.
Tudo pronto para a instalação? Então vamos colocar a mão na massa!
Instalação e configuração do PostgreSQL
Por padrão, o repositório do Ubuntu vem com o PostgreSQL disponível, bastando acionar o comando apt-get no terminal, digitando as seguintes linhas:
# sudo apt update #sudo apt install postgresql postgresql-contrib
O primeiro comando serve para atualizar o repositório, enquanto, o segundo, para instalar o PostgreSQL no sistema.
Feito isso, ao abrir o programa, note que ele está configurado para uso de autenticação ident, o que significa que as funções do PostgreSQL estão associadas a uma conta do Linux correspondente.
Logo, havendo uma função no PostgreSQL, você pode assumi-la, autenticando com as mesmas credenciais usadas no sistema operacional.
É conveniente saber, também, que o instalador, automaticamente, criou uma conta de usuário batizada “postgres”, estando ela associada com a função padrão (main role) e pronta para utilização.
Para trocar a conta de usuário para a postgres e logar no servidor, digite no terminal:
# sudo -i -u postgres
Agora você pode acessar o prompt do PostgreSQL usando o comando:
# psql
Existe outra maneira de acessar o prompt sem efetuar a troca de usuário, ou seja, diretamente com o usuário sudo. No caso, você terá de utilizar as seguintes linhas de comando:
# sudo -u postgres psql
Ao fazer esse procedimento, você terá um ambiente pronto para interagir com o sistema de gerenciamento e iniciar o seu projeto. Caso queira deixar para outro momento, digite o comando para sair:
postgres=# \q
Evidentemente, você não precisa (e nem deve) se limitar ao uso das funções criadas por padrão no PostgreSQL; é necessário criar novas funções, principalmente para criar projetos mais complexos. Portanto, a seguir, ensinarei a criá-las no prompt.
Adição de novas funções
Basicamente, você usará um comando chamado “createrole”. Durante o processo, haverá um sinalizador chamado “–interactive”, mas a sua função nada mais é que solicitar o nome da nova função e questionar se ela terá privilégios de superuser.
Vejamos um exemplo prático:
# postgres@server:~$ createuser --interactive
ou
# sudo -u postgres createuser --interactive
Em seguida, o prompt fará as perguntas que expliquei no início do tópico.
Output Enter name of role to add: e-tinet Shall the new role be a superuser? (y/n) y
Simples, não é mesmo? Vale destacar que existem várias outras sinalizações que permitem acesso a opções avançadas para criar funções ou realizar outras tarefas comuns.
Criação do primeiro banco de dados
Após criar a sua função, o banco de dados será gerado automaticamente com o nome escolhido para ela — e-tinet, conforme o exemplo. Contudo, para criar a sua base de dados, utilizaremos o comando “createdb”.
postgres@server:~$ createdb e-tinet
ou
# sudo -u postgres createdb e-tinet
Nitidamente, utilizar os comandos do PostgreSQL é relativamente simples e não requer experiência, pois o caminho é bastante curto e os nomes são bem intuitivos — por exemplo, o “createdb” deixa muito claro que a função é criar um database.
Três instruções básicas para começar com o PostgreSQL
Agora que você já conseguiu realizar as configurações básicas o suficiente para criar o seu banco de dados, que tal conhecer algumas funcionalidades básicas?
CREATE TABLE
Vamos criar uma base de dados? A primeira etapa será a criação de tabelas para armazenar dados. Para criar uma tabela, baseie-se na sintaxe abaixo:
CREATE TABLE nome_tabela ( nome_coluna1 tipo_dados (tamanho_campo) constraint, nome_coluna2 tipo_dados (tamanho_campo) constraint, nome_coluna3 tipo_dados (tamanho_campo) constraint, );
Isto é, começamos usando o comando “CREATE TABLE”, nomeamos a tabela e, em seguida, as colunas e seus respectivos elementos. Abaixo, um exemplo mais didático de como ficaria uma tabela para simples cadastro de clientes que armazenará informações, como nome, sexo e idade.
CREATE TABLE tbl_cadastro ( nome varchar (50) NOT NULL, sexo char (1) NOT NULL CONSTRAINT CHECK_SEXO CHECK (SEXO IN ('F', 'M')), idade number (3) CONSTRAINT CHECK_IDADE CHECK (IDADE > 18), );
Nesse caso, nomeamos a tabela como “tbl_cadastro”, criamos três colunas (nome, sexo e idade) com o tipo de dado que cada uma envolve e as constraints (restrições), como:
- NOT NULL, que torna obrigatório o preenchimento do campo; e
- CHECK, que serve para criar condições à coluna — na idade, por exemplo, a regra é conter até três casas e não aceitar números inferiores a 18.
INSERT
Com base no exemplo da criação de tabela, podemos inserir dados nas colunas usando o comando INSERT, por meio da sintaxe:
INSERT INTO tbl_cadastro (nome, sexo, idade) VALUES (João, M, 38); INSERT INTO tbl_cadastro (nome, sexo, idade) VALUES (Laura, F, 32); INSERT INTO tbl_cadastro (nome, sexo, idade) VALUES (Mario, M, 56);
DELETE
Logicamente, o comando DELETE serve para apagar dados de determinadas colunas selecionadas pelo usuário. Supondo que a ideia seja remover do banco os cadastros de clientes do sexo masculino, bastaria usar a instrução:
DELETE FROM tbl_cadastro WHERE sexo = ‘M’;
Feito isso, todos os cadastrados que preencheram o campo “sexo” como “M” foram excluídos do banco de dados.
Aprimorando o PostgreSQL usando o pgAdmin
Embora o uso das linhas de comando sejam comuns entre usuários e profissionais que atuam com Linux, manipular o banco de dados PostgreSQL por meio de interface gráfica é uma ótima maneira de agilizar o trabalho.
O propósito do pgAdmin é justamente esse: permitir que todas as tarefas envolvendo o PostgreSQL sejam realizadas na interface e, claro, acrescentar recursos úteis ao gerenciador. Sem dúvidas, uma excelente ferramenta tanto para profissionais quanto iniciantes.
Salientando que o pgAdmin é desenvolvido pela própria comunidade de desenvolvedores do PostgreSQL. Portanto, é um software estritamente alinhado com as possibilidades que o gerenciador oferece.
Instalação do pgAdmin
Para instalar a versão mais recente do pgAdmin (até o momento em que escrevo o artigo, versão 4), é necessário instalar os pacotes requeridos pela plataforma (python, pip e virtualenv). Execute o comando:
# sudo apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev
Quando surgir a extensa mensagem concedendo as opções “y” e “n”; confirme digitando “y” para concluir a instalação.
Agora, criaremos um ambiente virtual (virtual enviroment) a partir da pasta recém-criada.
# mkdir pgAdmin4 # cd pgAdmin4 #virtualenv pgAdmin4
O próximo passo é a validação do ambiente virtual. Digite:
# cd pgAdmin4 #source bin/activate
Você acaba de preparar o território para que o pgAdmin seja baixado e instalado em seu Ubuntu Server. Para prosseguir, utilize a sequência de comandos abaixo.
Download do pgAdmin:
# wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/pgadmin4-2.1-py2.py3-none-any.whl
Instalação:
# pip install pgadmin4-2.1-py2.py3-none-any.whl
Configuração do pgAdmin
Após a instalação, é necessário configurar o pgAdmin para que ele seja executado corretamente no Ubuntu Server.
Um método simples para isso é criar um novo arquivo, chamado “config_local.py” (sem aspas) na pasta “lib/python2.7/site-packages/pgadmin4/”, usando o comando:
# vim lib/python2.7/site-packages/pgadmin4/config_local.py
Com a pasta aberta, adicione o seguinte bloco de texto:
import os DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/')) LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log') SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db') SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions') STORAGE_DIR = os.path.join(DATA_DIR, 'storage') SERVER_MODE = False
A partir de agora o pgAdmin está pronto para ser executado. Vamos testá-lo? Use o comando:
# pip install flask-htmlmin # python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
Observação: a primeira linha se faz necessária caso surja algum erro do tipo “flask-htmlmin module error”.
Para conferir se todo o procedimento ocorreu satisfatoriamente, acesse o endereço http://localhost:5050 usando qualquer navegador de Internet. Caso a página do pgAdmin 4 apareça na tela, significa que a instalação foi realizada com sucesso.
Ao seguir todas as dicas e instruções mencionadas até aqui, você passará a contar com um gerenciador de banco de dados fantástico, poderá criar suas primeiras tabelas, instalar o pgAdmin 4 e extrair o máximo de benefícios do PostgreSQL em seu servidor Linux.
Gostou do conteúdo? Não se esqueça de visitar o site Profissionais Linux para aprender a como dominar o Linux a ponto de fazer qualquer tipo de operação nesse poderoso sistema!