Altro formato di output per psql

Sto usando PostgreSQL 8.4 su Ubuntu. Ho una tabella con colonne c1 attraverso cN. Le colonne sono abbastanza ampia selezione di tutte le colonne causa di una fila di risultati della query per avvolgere più volte. Di conseguenza, l’output è di difficile lettura.

Quando i risultati della query che costituiscono solo un paio di righe, sarebbe comodo se potessi visualizzare i risultati della query in modo che ogni colonna, ogni riga è una riga separata, ad esempio,

 c1: <value of row 1's c1>
 c2: <value of row 1's c1>
 ...
 cN: <value of row 1's cN>
 ---- some kind of delimiter ----
 c1: <value of row 2's c1>
 etc.

Io sono l’esecuzione di queste query su un server in cui preferirei non installare alcun software aggiuntivo. C’è un psql impostazione che mi permette di fare qualcosa di simile?

InformationsquelleAutor user100464 | 2012-03-07

 

7 Replies
  1. 452

    Ho solo bisogno di trascorrere più tempo a guardare la documentazione. Questo comando:

    \x on

    farà esattamente quello che volevo. Ecco alcuni esempi di output:

    select * from dda where u_id=24 and dda_is_deleted='f';
    -[ RECORD 1 ]------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    dda_id             | 1121
    u_id               | 24
    ab_id              | 10304
    dda_type           | CHECKING
    dda_status         | PENDING_VERIFICATION
    dda_is_deleted     | f
    dda_verify_op_id   | 44938
    version            | 2
    created            | 2012-03-06 21:37:50.585845
    modified           | 2012-03-06 21:37:50.593425
    c_id               | 
    dda_nickname       | 
    dda_account_name   | 
    cu_id              | 1
    abd_id             | 
    • Puoi anche provare \pset formato avvolto (i formati ammessi sono disallineati, allineati, avvolto, html, latex, troff-ms). Se il display è abbastanza stretto sarà a capo di ogni colonna.
    • \x è la sola a passare il valore, consentendo di risparmiare tre tasti! (Utile quando si è di commutare rapidamente tra wide e narrow uscite).
    • Se siete alla ricerca per equivalente per \G da Mysql, provare ad aggiungere \x\g\x al fine di query o di definire un collegamento in ~/.psqlrc aggiunta di \set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0', quindi utilizzare il termine :G. (nota la mancanza di un punto e virgola)
    • È possibile in qualche modo passare “\x on” o equivalente sulla linea di comando? Sarebbe bello se riuscissi a salvare (per esempio, utilizzando una shell bash alias) psql --something così che ho sempre l’opzione è attivata per impostazione predefinita.
    • Utilizzare -P expanded=auto o --pset expanded=auto
    • Sto usando pgcli 2.0.0 e questo flag non esiste. Sono riuscito a risolvere questo problema andando a pgcli.com/config e modificare il mio file di configurazione
    • non è lo stesso programma come psql 😉

  2. 229

    (Nuovo) Espanso Modalità Automatica: \x auto

    Nuovo per Postgresql 9.2; PSQL adatta automaticamente i record per la larghezza dello schermo. in precedenza si aveva solo ampliato la modalità on o off e ha dovuto passare tra le due modalità, come necessario.

    • Se il record è in grado di adattarsi alla larghezza dello schermo; psql utilizza la formattazione normale.
    • Se il record può non adattarsi alla larghezza dello schermo; psql utilizza la modalità estesa.

    Per ottenere questo uso: \x auto

    Postgresql 9.5 Documentazione comando PSQL.


    Wide screen, la formattazione normale:

     id | time  |       humanize_time             | value 
    ----+-------+---------------------------------+-------
      1 | 09:30 |  Early Morning - (9.30 am)      |   570
      2 | 11:30 |  Late Morning - (11.30 am)      |   690
      3 | 13:30 |  Early Afternoon - (1.30pm)     |   810
      4 | 15:30 |  Late Afternoon - (3.30 pm)     |   930
    (4 rows)

    Stretta schermo, ha ampliato la formattazione:

    -[ RECORD 1 ]-+---------------------------
    id            | 1
    time          | 09:30
    humanize_time | Early Morning - (9.30 am)
    value         | 570
    -[ RECORD 2 ]-+---------------------------
    id            | 2
    time          | 11:30
    humanize_time | Late Morning - (11.30 am)
    value         | 690
    -[ RECORD 3 ]-+---------------------------
    id            | 3
    time          | 13:30
    humanize_time | Early Afternoon - (1.30pm)
    value         | 810
    -[ RECORD 4 ]-+---------------------------
    id            | 4
    time          | 15:30
    humanize_time | Late Afternoon - (3.30 pm)
    value         | 930

    Come avviare psql con \x auto?

    Configurare \x auto comando all’avvio aggiungendo .psqlrc nella tua cartella home e il riavvio di psql. Guardate sotto “File” nella sezione in psql doc per ulteriori info.

    ~/.psqlrc

    \x auto
  3. 60

    Si hanno così tante scelte, come si può essere confusi :-)? I comandi principali sono:

    # \pset format
    # \H
    # \x
    # \pset pager off

    Ognuno ha le opzioni e le interazioni con gli altri. La maggior parte delle opzioni automatiche sono:

    # \x off;\pset format wrapped
    # \x auto

    Il più recente “\x auto” opzioni di opzione per la, linea per linea, è possibile visualizzare solo “se necessario”.

    -[ RECORD 1 ]---------------
    id          | 6
    description | This is a gallery of oilve oil brands.
    authority   | I love olive oil, and wanted to create a place for
    reviews and comments on various types.
    -[ RECORD 2 ]---------------
    id          | 19
    description | XXX Test A 
    authority   | Testing

    Vecchi “\pset formato avvolto” è simile nel senso che si cerca di adattare i dati ordinatamente sullo schermo, ma ricade unaligned se le intestazioni non è adatta. Ecco un esempio confezionato:

     id |          description           |            authority            
    ----+--------------------------------+---------------------------------
      6 | This is a gallery of oilve     | I love olive oil, and wanted to
        ; oil brands.                    ;  create a place for reviews and
        ;                                ;  comments on various types.
     19 | Test Test A                    | Testing
    • Disclosure: ho scritto \pset formato avvolto
    • \x auto con \pset pager off è un bel uno.
    • Sono \x off; \pset format wrapped e \x auto destinati ad essere utilizzati insieme o si escludono?
  4. 12

    Cosa interessante è che siamo in grado di visualizzare le tabelle in orizzontale, senza piegatura. siamo in grado di utilizzare PAGER variabile di ambiente. psql fa uso di esso. è possibile impostare

    export PAGER='/usr/bin/less -S'

    o semplicemente less -S se già disponibile nella riga di comando, se non con la posizione corretta. -S per visualizzare spiegato linee. è possibile passare in qualsiasi visualizzatore personalizzato o altre opzioni con esso.

    Ho scritto più in Psql Orizzontale Display

    • La risposta è molto buona. Io sono sorpreso che non è segnato più in alto. Perfetto per chi lavora in un terminale.
    • Questo è stato estremamente utile
    • Questo è utile, ma come si fa scorrere a destra?
  5. 9

    pspg è un semplice strumento che offre funzionalità avanzate di formattazione della tabella a scorrimento orizzontale, di ricerca e molte altre caratteristiche.

    git clone https://github.com/okbob/pspg.git
    cd pspg
    ./configure
    make
    make install

    quindi assicuratevi di aggiornare PAGER variabile ad esempio, in ~/.bashrc

    export PAGER="pspg -s 6" 

    dove -s si distingue per la combinazione di colori (1-14). Se si utilizza pgdg repository semplicemente installare un pacchetto (su Debian come distribuzione):

    sudo apt install pspg

    Altro formato di output per psql

  6. 7

    Anche essere sicuri di controllare \H, che attiva e disattiva l’output HTML on/off. Non necessariamente facile da leggere alla console, ma interessante per il dumping in un file (vedere \o) o incollare in un editor/finestra del browser per la visualizzazione, soprattutto con più righe di relativamente complesso di dati.

  7. 1

    è possibile utilizzare il zenity per visualizzare l’output della query come una tabella html.

    • primo implementare script bash con il seguente codice:

      gatto > ‘/tmp/sql.op’;
      zenity –il testo-info –html –filename=’/tmp/sql.op’;

      salvarlo come mypager.sh

    • Quindi esportare la variabile di ambiente CERCAPERSONE da impostare il percorso completo dello script come valore.

      per esempio:- esportazione PAGER=’/path/mypager.sh’

    • Quindi il login per l’psql programma per eseguire il comando \H

    • E, infine, eseguire query,l’presentato output verrà visualizzato in zenity in formato di tabella html.

Lascia un commento