Curso
PostgreSQL é um dos SGBDs relacionais open source mais consolidados do mercado. A instalação padrão do PostgreSQL vem com o prompt do psql, que é a interface tipo terminal do PostgreSQL. Já o pgAdmin oferece uma interface gráfica para operar bancos de dados no PostgreSQL. Com o psql, além de executar consultas SQL, você tem acesso a outras funcionalidades — e algumas delas você vai aprender neste tutorial.
Você vai começar aprendendo a listar os bancos de dados que estão no servidor PostgreSQL e, aos poucos, avançar para recursos intermediários. Vamos lá.
Observação: este tutorial pressupõe que você já tem familiaridade com SQL (linguagem geral para interagir com SGBDs) e com PostgreSQL. Se quiser relembrar o básico, confira estes recursos:
Primeiro o básico
Para acompanhar o tutorial, pode ser útil ter um banco de dados já populado. Você pode usar este arquivo de backup e restaurá-lo no seu servidor PostgreSQL. Se quiser saber como fazer isso, leia este artigo.
Se você está se perguntando o que é o psql, este trecho do site oficial do PostgreSQL explica de forma elegante:
psql é uma interface de linha de comando para o PostgreSQL. Ela permite digitar consultas interativamente, enviá-las ao PostgreSQL e ver os resultados. Alternativamente, a entrada pode vir de um arquivo ou de argumentos na linha de comando. Além disso, o psql fornece diversos metacomandos e recursos semelhantes aos de shell para facilitar a escrita de scripts e a automação de uma ampla variedade de tarefas.
Como mencionado, você vai aprender os dez comandos psql mais úteis neste tutorial. Antes de começar, certifique-se de ter o PostgreSQL instalado (de preferência a partir da versão 9.4). Este artigo ajuda você a instalar o PostgreSQL.
O próximo passo é chegar a este prompt:

No Windows, basta digitar psql na barra de busca do menu Iniciar e você deve conseguir acessá-lo. Essa é a chamada shell do psql, que exibe o prompt do psql. Como você pode ver, o prompt está apontando para o banco de dados padrão postgres. Vamos ver se existe outro banco de dados neste servidor PostgreSQL local.
1. Listando os bancos de dados disponíveis
Use o comando \l para obter a lista de todos os bancos de dados disponíveis.

Como você pode ver, eu tenho os seguintes bancos de dados:
- datacamp_tutorials
- postgres
Você pode ignorar o restante das entradas. Agora, vamos ver as tabelas disponíveis no banco de dados atual.
2. Listando as tabelas disponíveis no banco de dados atual
\dt faz isso para você:
![]()
Mas, infelizmente, o banco postgres não tem nenhuma tabela criada (em literatura de bancos de dados, tabelas também são chamadas de relações). Vamos mudar para outro banco e ver se ele tem tabelas criadas.
3. Alternando para outro banco de dados
A sintaxe é: \c <database_name>. Suponha que você queira mudar para o banco chamado datacamp_tutorials. Faça assim:
`\c datacamp_tutorials`

Agora, vamos ver se ele tem tabelas com o comando \dt:

Como você pode ver, o banco datacamp_tutorials tem as seguintes quatro tabelas:
- countries
- route_table
- station_code
- train_table
Digamos que você queira ver os detalhes estruturais de uma tabela específica. Isso costuma ser chamado de descrever uma tabela. Vamos ver como fazer isso.
4. Descrevendo uma tabela específica
A sintaxe geral é \d <table_name>. Suponha que você esteja no banco datacamp_tutorials e queira descrever a tabela countries. O comando seria \d countries:

Como você pode ver, \d countries traz várias informações valiosas sobre a tabela, como nomes das colunas, tipos de dados, modificadores de coluna e muito mais. Talvez você queira saber a versão atual do seu servidor PostgreSQL — por exemplo, para documentação. Veja como fazer.
5. Consultando a versão do PostgreSQL
SELECT version(); faz isso:

Agora, digamos que você tenha esquecido o último comando executado no shell do psql entre uma chamada e outra — e que era importante. Sem problema! Dá para recuperá-lo facilmente.
6. Vendo o último comando executado
\g faz isso para você:

Como você pode ver, \g executa automaticamente o comando anterior. Talvez você queira ir além e ver a lista de todos os comandos do psql disponíveis para a versão do PostgreSQL que você está rodando. Vamos ver isso agora.
7. Listando todos os comandos disponíveis
Você obtém a lista de todos os comandos do psql com \?:

Talvez você também se interesse em conhecer as sintaxes de diferentes instruções SQL, como SELECT, ALTER, DROP e assim por diante. Dá para fazer isso direto no prompt do psql.
8. Consultando a sintaxe de instruções do PostgreSQL
Digamos que você queira saber mais sobre instruções DROP. \h DROP TABLE pode ajudar:

Suponha que você queira analisar os tempos de execução das consultas. Veja como fazer isso pelo shell do psql.
9. Vendo o tempo de execução das consultas
Para isso, ative o comando \timing. Suponha que você queira medir o tempo da seguinte consulta:
select * from train_table limit 10;
Primeiro, ative com \timing:
![]()
Depois que a opção de tempo estiver habilitada, rode sua consulta:

Como você pode ver, o tempo de execução foi de 0,786 ms. Esse tempo pode variar de uma máquina para outra. Agora vamos ao último comando do psql, que abre o comando/consulta anterior em um editor de texto.
10. psql + editor de texto
Ao executar o comando \e, o último comando/consulta é aberto em um editor de texto, permitindo editar e executar novamente.

Como você pode ver, o comando e abriu o Bloco de Notas com a consulta executada anteriormente.
Conclusão
Neste tutorial, você viu dez comandos úteis do psql que podem agilizar suas tarefas diárias com bancos de dados. Se quiser aprender mais sobre SQL, experimente estes cursos da DataCamp:


