É um banco de dados relacional que possui todos os requisitos de um banco de dados transacional e é totalmente compatível com as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade). O programa que roda o servidor do banco de dados chama-se postgres.
| Termo da indústria | Termo Postgre |
|---|---|
| Tabela | Relação |
| Linha | Tupla |
| Coluna | Atributo |
| Bloco de dados | Página (quando o bloco está no disco) |
| Página | Buffer (quando o bloco está na memória) |
sudo apt install postgresql postgresql-contrib
para ver a versão do postgres
psql --version
Há três comandos que você precisará saber quando o PostgreSQL estiver instalado:
| Descrição cmd básicos | Comando |
|---|---|
| verificar o status | sudo service postgresql status |
| iniciar a execução | sudo service postgresql start |
| interromper a execução | sudo service postgresql stop |
| entrar no prompt do postgres | sudo -u postgres psql postgres |
| outra variação | sudo -i -u postgres seguido de psql |
Opções do sudo:
\password postgres |
Para trocar a senha do usuário padrão. Exemplo de senha: post1234gres |
Um pacote que traz várias ferramentas para administração do banco de dados. No prompt do postgres, digite o comando:
CREATE EXTENSION adminpack;
Para criar um novo usuário, no prompt do Linux, digite o comando:
sudo -i -u postgres
createuser -dRP jeann
Opções:
Para apagar:
dropuser jeann
Para criar um novo banco de dados:
sudo -i -u postgres
createdb -O jeann dbTeste
Nota: Todos estes comandos podem ser executados com o usuário Linux postgres. Este usuário além de ser usuário Linux também é o admin do Postgres. Dessa forma vc pode trocar de usuário primeiro (sudo -i -u postgres), em seguida rodar os comandos sem precisar do “sudo -u postgres” antes de cada comando.
Para entrar no banco com o novo usuário digite:
psql database_name
Para excluir um banco de dados:
dropdb database_name
dentro do prompt do postgres os comandos parecem sempre começar com “", por exemplo:
| Comando | Descrição |
|---|---|
\q |
Para voltar ao terminal |
\conninfo |
mostra informações sobre a conexão sendo usada no momento. Ex: You are connected to database “postgres” as user “postgres” via socket in “/var/run/postgresql” at port “5432”. |
\l |
lista os banco que existem no postgres |
Ctrl + l |
limpa a tela do terminal |
\h |
lista os comandos que podem ser executados |
\du |
listar os usuários do banco, inicialmente deve existir apenas o postgres |
\c |
troca o banco de dados acessado, ex: \c template1 –> You are now connected to database “template1” as user “postgres”. |
\d |
lista as tabelas (relações) que existem no banco de dados atual |
\dS |
lista as tabelas de sistema |
\! comando |
executa um comando no shell sem sair do psql. |
show hba_file; |
(este comando é executado sem a \ e é executado de dentro do postgres) vai exibir o caminho no disco onde o arquivo de configuração pode ser encontrado. Ex: /etc/postgresql/12/main/pg_hba.conf |
sudo nano /etc/postgresql/12/main/pg_hba.conf
Uma vez alterado o arquivo, é preciso reiniciar o serviço do postgresql
Para saber o nome do serviço, liste todos com o comando
systemctl list-units –type=service
para reiniciar: sudo systemctl restart postgresql-14