Olá pessoal,
Estou fazendo um curso sobre ciência de dados, e pela primeira vez tive contato com o SGDB PostgreSQL, já tinha lido alguns posts, e assitidos palestras e ouvido podcasts recomendando a utilização do PostgreSQL no lugar do MySQL, mas nunca tive a curiosidade de saber a fundo quais são as vantagens do PostgreSQL em relação ao MySQL, nos ambientes que atuei o MySQL semprei reinou, também não é do meu interesse fazer estas comparações, cada ferramenta tem seu espaço, sou da opinião que se ferramenta, software, hardware, linguagem, etc., agrada e atende as necessidades seja ela qualquer for, tudo bem.
Neste post vou abordar operações bem básicas, o objetivo e ter um SGDB instalado localmente para realizar analise de dados, outro ponto a considerar e que estou utilizando o Ubuntu como meu sistema operacional, então estou usando os seguintes softwares para escrever este post:
- Ubuntu 19.10 64bits
- PostgreSQL 11
Não tenho a necessidade utilizar o PostgreSQL 12, vou utilizar o SGDB apenas para estudo, desta forma fiz a instalação a partir do repositório oficial do Ubuntu
$ sudo apt install postgresql-11
A forma de acessar a console do PostgreSQL é bem diferente do MySQL, que causou uma certa estranheza no inicio, para acessar a console via terminar efetue o login com o usuário postgres
$ sudo -i -u postgres
Depois acesse a console
$ psql
Para sair da console digite \q depois [ENTER]
Criar uma base de dados (CREATEDB)
Como o MySQL o PostgreSQL também fornece alguns scripts para serem executados fora da console. Cerfique-se que você esta logado com o usuário postgres e não está dentro da console (psql) e execute:
$ CREATEDB <nome_da_base>
E claro também podemos criar uma base de dados através da console (psql)
CREATE DATABASE <nome_da_base>;
Criar um usuário (CREATEUSER)
O comando CREATEUSER permite criar usuários de forma interativa, ou seja, será solicitado uma seríe de informações no prompt do terminal:
createuser --interactive --pwprompt
- Enter name of role to add: <Entre com o nome do novo usuário>
- Enter password for new role: <Entre com a senha do novo usuário>
- Enter it again: <Repita a senha de acesso>
- Shall the new role be a superuser? (y/n): <Usuário deve ter permissão de SuperUser?>
Pronto! Para listar todos usuários acesse a console do PostgreSQL e execute o comando:
\du
Atribuir usuário a uma base de dados
Bom criamos o usuário e a base de dados, agora precisamos dar permissão a este usuário para acessar e executar operaçãoes na base de dados. Acesse a console (psql) e execute:
GRANT all privileges ON DATABASE <nome_base_dados> TO <nome_usuario>;
Neste caso estamos atribuindo todas dando todos as permissões ao usuário na base de dados, ou seja, ele pode executar qualquer comando na base, inclusive remove-lá.
Acessando a base de dados recém criada
Com a base de dados e o usuário criados, podemos fazer o acesso direto usando o comando psql
$ psql -h 127.0.0.1 -d exemplo_db -U exemplo -W
É isso pessoal, até próxima!