Come mostrare i dati in una tabella utilizzando l'interfaccia della riga di comando psql?


102

C'è un modo per mostrare tutto il contenuto all'interno di una tabella utilizzando l'interfaccia a riga di comando psql?

Posso usare \listper mostrare tutti i database, \dper mostrare tutte le tabelle, ma come posso mostrare tutti i dati in una tabella?


Risposte:


163

Versioni più recenti: (dalla 8.4 - menzionata nelle note di rilascio )

TABLE mytablename;

Più lungo ma funziona su tutte le versioni:

SELECT * FROM mytablename;

Potresti voler usare \xprima se è una tabella ampia, per la leggibilità.

Per dati lunghi:

SELECT * FROM mytable LIMIT 10;

o simili.

Per dati ampi (righe grandi), nel psqlclient della riga di comando, è utile utilizzare \xper mostrare le righe in formato chiave / valore invece che tabulato, ad es.

 \x
SELECT * FROM mytable LIMIT 10;

Nota che in tutti i casi il punto e virgola alla fine è importante.


1
Un'utile aggiunta alla risposta precedente, per quando si ha a che fare con tabelle più grandi, è aggiungere LIMIT 100al comando, in modo da poter visualizzare solo le prime 100 righe (o quante ne si desidera).
— Matt

Solo le lettere maiuscole funzionano per il comando SQL. Quindi "seleziona * da ..." non funzionerà. Devi usare "SELEZIONA * DA ..." (beh, nella versione 9.1 comunque)
— MacGyver

2
@MacGyver Questo non è stato vero per nessuna versione di PostgreSQL anche vagamente recente. Ho usato Pg fin dal 7.2 e non mi importava di maiuscolo vs minuscolo (ad eccezione delle regole di citazione degli identificatori intorno a nomi di identificatori misti come "MyTable"vs MyTable).
— Craig Ringer

Questo è il motivo per cui sono arrivato a questa domanda perché semplicemente non potevo visualizzare i dati. Ho usato le lettere minuscole. Quando ho provato il maiuscolo, l'ho fatto funzionare, per quanto strano possa sembrare. Anche se non posso riprodurre ora, manterrò i miei commenti e tornerò se trovo che fallisca di nuovo.
— MacGyver

1
@AntonKahwaji È disponibile dalla versione 8.4. Si prega di fare riferimento a documenti ufficiali
— Vignesh Raja

2

Su Windows usa il nome della tabella tra virgolette: TABLE "user";oSELECT * FROM "user";

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.