Anfang und Ende einer Tabelle anzeigen lassen in psql

Ich möchte, dass bei einer Abfrage jeweils die ersten 5 Zeilen und die letzten 5 Zeilen angezeigt werden und man sieht, wie viele Zeilen es im Total sind.

Normalerweise arbeite ich mit Mac und dort ist diese Ansicht als Standard eingestellt. Bei der Arbeit benutze ich ein Windows-Notebook und dort zeigt es mir in psql immer soviel Zeilen an, wie es gerade auf dem Bildschirm Platz hat und dann – Fortsetzung – …

Weiss jemand, wie man das in psql einstellt?

Dazu mußt Du zuerst einmal sortieren, denn sonst kann PG nicht wissen, wo der Anfang und wo das Ende ist.

edb=*# with foo as (select * from generate_series(1,100)s) select * from (select 'die ersten 5', * from foo order by s asc limit 5) union all (select 'die letzten 5', * from foo order by s desc limit 5) union all select 'gesamt', count(1) from foo; 
   ?column?    |  s  
---------------+-----
 die ersten 5  |   1
 die ersten 5  |   2
 die ersten 5  |   3
 die ersten 5  |   4
 die ersten 5  |   5
 die letzten 5 | 100
 die letzten 5 |  99
 die letzten 5 |  98
 die letzten 5 |  97
 die letzten 5 |  96
 gesamt        | 100
(11 rows)

edb=*#

vermutlich ist das aber nicht das, was Du suchst. Wenn Du less als PAGER verwendest, zeigt es Dir den Anfang an. Wenn Du dann Shift-g drückst, kommst Du ans Ende und siehst auch die Anzahl der Zeilen.

Ich habe jetzt noch auf meinem Mac geschaut: Wenn ich eine Tabelle mit 1780 Zellen anzeigen lassen möchte, geht das in psql auf meinem Mac ruckzuck. In einer Sekunde schreibt es mir alle Zeilen und ich kann mit der Maus durch die ganze Tabelle bequem durchscrollen von Anfang bis Ende. Auf meinem Windows Notebook, wie gesagt immer nur was gerade auf den Bildschirm passt. Und wenn ich den Pager ausschalte, geht es etwa eine 3/4 Minute, bis er alle Zeilen anzeigt :-)! Kann doch nicht sein…woran liegt das? Mein Arbeitgeber hat mir ein - angeblich performantes - HP Notebook hingestellt, mit 64 GB Arbeitsspeicher…warum läuft dies dann soo langsam? :slight_smile:

Übrigens: Das mit den 5 Zeilen am Anfang und 5 Zeilen am Ende, das war in Pandas und nicht in Postgres (habe ich vergessen)! :slight_smile:

Die Konsole in Windows ist ziemlich langsam, auch das “pipen” von Daten (was der pager ja macht) ist dort wesentlich weniger effizient als in *Nix-artigen Betriebssystem (und dazu gehört auch der Mac)

2 „Gefällt mir“

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.