Como mostrar dados em uma tabela usando a interface de linha de comando psql?


101

Existe uma maneira de mostrar todo o conteúdo dentro de uma tabela usando a interface de linha de comando do psql?

Posso usar \listpara mostrar todos os bancos de dados, \dpara mostrar todas as tabelas, mas como posso mostrar todos os dados em uma tabela?


stackoverflow.com/questions/9178406/… isso pode ser útil para você.
Wanna Coffee

Respostas:


163

Versões mais recentes: (de 8.4 - mencionado nas notas de lançamento )

TABLE mytablename;

Mais longo, mas funciona em todas as versões:

SELECT * FROM mytablename;

Você pode querer usar \xprimeiro se for uma tabela larga, para facilitar a leitura.

Para dados longos:

SELECT * FROM mytable LIMIT 10;

ou similar.

Para dados largos (linhas grandes), no psqlcliente de linha de comando, é útil usar \xpara mostrar as linhas na forma de chave / valor em vez de tabuladas, por exemplo

 \x
SELECT * FROM mytable LIMIT 10;

Observe que, em todos os casos, o ponto-e-vírgula no final é importante.


1
Uma adição útil à resposta acima, ao lidar com tabelas maiores, é adicionar LIMIT 100ao seu comando, para que você possa ver apenas as primeiras 100 (ou quantas linhas quiser).
Matt

Apenas letras maiúsculas funcionam para o comando SQL. Portanto, "selecionar * de ..." não funcionará. Você deve usar "SELECT * FROM ..." (bem, na versão 9.1 de qualquer maneira)
MacGyver

2
@MacGyver Isso não aconteceu com nenhuma versão do PostgreSQL, mesmo vagamente recente. Eu usei o Pg já em 7.2 e ele não se importava com maiúsculas e minúsculas (exceto para regras de cotação de identificadores em torno de nomes de identificadores de maiúsculas e minúsculas como "MyTable"vs MyTable).
Craig Ringer

Essa foi a razão pela qual cheguei a esta pergunta, porque simplesmente não conseguia exibir dados. Eu estava usando letras minúsculas. Quando tentei letras maiúsculas, comecei a funcionar, por mais estranho que pareça. Embora não possa reproduzir agora, vou guardar meus comentários e voltar se achar que está falhando novamente.
MacGyver

1
@AntonKahwaji Está disponível a partir da versão 8.4. Consulte a documentação oficial
Vignesh Raja

2

No Windows, use o nome da tabela entre aspas: TABLE "user";ouSELECT * FROM "user";

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.