O PostgreSQL inclui uma ferramenta de linha de comando útil chamada psql. Este programa abre uma interface de texto interativa que fornece acesso aos seus bancos de dados. Você pode usá-lo para descobrir várias informações sobre suas estruturas e metadados de banco de dados.
Você também pode usar o psql para executar qualquer comando SQL para criar tabelas, inserir linhas e consultar dados existentes.
Usando o programa psql
O programa psql é executado como um terminal interativo que permite enviar comandos para um banco de dados PostgreSQL. Se você tiver o PostgreSQL instalado, poderá executá-lo na linha de comando digitando:
psql
Se você conseguir um psql: comando não encontrado error, o PostgreSQL não está instalado ou não está no seu caminho. Neste último caso, certifique-se de defina sua variável de ambiente PATH adequadamente.
Você pode se conectar a um banco de dados específico nomeando-o após o psql comando:
pedidos psql
Por padrão, seu servidor PostgreSQL provavelmente está rodando na porta 5432. Se não for, você pode especificar a porta para se conectar usando o -p opção:
psql -p 1234
Listando e conectando-se a bancos de dados
Quando estiver no shell interativo, você poderá executar vários comandos do psql. Isso inclui comandos para listar bancos de dados disponíveis, alterar o estilo de saída, etc. Além disso, você pode executar todos os comandos SQL padrão que o PostgreSQL suporta.
O prompt do shell interativo inclui o nome do banco de dados ao qual você está conectado. Sua linha de comando psql deve ficar assim:
postgres=#
Um bom primeiro comando para testar e se orientar é \eu. Isso lista os bancos de dados disponíveis no servidor PostgreSQL ao qual você está conectado:
\eu
O comando produz uma saída em formato tabular, mostrando o nome de cada banco de dados junto com seu proprietário e outros atributos.
Você pode se conectar a um banco de dados diferente usando o \c comando, seguido pelo nome do seu banco de dados de destino:
\c postgres
Digite \c sozinho para imprimir uma mensagem informando a qual banco de dados você está conectado no momento.
Sem nenhum argumento a seguir, o \d O comando lista tabelas, visualizações e sequências:
\d
Você também pode usar \d para descrever uma tabela específica. Simplesmente inclua o nome da tabela após o \d:
\d funcionários
Esses comandos produzem saídas diferentes, mas ambos usam um formato tabular consistente.
Você pode listar todas as tabelas disponíveis no banco de dados atual com o \dt comando:
\dt
A saída apresenta cada tabela em uma única linha, com informações mínimas.
Existem vários outros comandos semelhantes para visualizar vários tipos de informações da tabela. Por exemplo, para listar as visualizações disponíveis, use \dv:
\dv
Assim como o comando \dt, \dv mostra o esquema, nome, tipo e proprietário de cada visualização.
Comandos Diversos
Existem muitos, muitos comandos psql disponíveis, muitos para cobrir em um pequeno artigo. Possivelmente, o comando mais útil a ser lembrado é aquele que informa sobre todos esses comandos. Usar \? e você verá uma lista de cada comando com uma sinopse de como usá-lo e uma explicação do que ele faz.
\s mostra um histórico do que você digitou anteriormente, incluindo instruções SQL e comandos psql.
o \e O comando é muito útil, especialmente se você estiver experimentando com instruções SQL longas. Este comando abre seu editor de texto de linha de comando padrão com o último comando SQL. Você pode então editar esse comando, salvar e sair do seu editor, e o psql irá executá-lo novamente com suas alterações.
Comandos psql são ótimos para inspeção de banco de dados
O shell interativo psql é um programa versátil. Ele permite que você execute comandos SQL padrão e comandos especiais do psql. O último oferece acesso a todos os tipos de informações que são particularmente úteis se você estiver ajustando o desempenho ou projetando um banco de dados complexo.
Lembre-se de usar o \? comando para consultar a enorme lista de comandos disponíveis.