PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Esegui query PostgreSQL dalla riga di comando

psql -U username -d mydatabase -c 'SELECT * FROM mytable'

Se non conosci Postgresql e non hai dimestichezza con l'utilizzo dello strumento da riga di comando psql poi c'è un comportamento confuso di cui dovresti essere a conoscenza quando sei entrato in una sessione interattiva.

Ad esempio, avvia una sessione interattiva:

psql -U username mydatabase 
mydatabase=#

A questo punto puoi inserire direttamente una query ma ricorda di terminare la query con un punto e virgola ;

Ad esempio:

mydatabase=# SELECT * FROM mytable;

Se dimentichi il punto e virgola, quando premi invio non otterrai nulla sulla riga di ritorno perché psql presumerà che tu non abbia finito di inserire la tua query. Questo può portare a tutti i tipi di confusione. Ad esempio, se inserisci nuovamente la stessa query, molto probabilmente creerai un errore di sintassi.

Come esperimento, prova a digitare qualsiasi garble che desideri al prompt di psql, quindi premi invio. psql ti fornirà silenziosamente una nuova linea. Se inserisci un punto e virgola su quella nuova riga e poi premi invio, riceverai l'ERRORE:

mydatabase=# asdfs 
mydatabase=# ;  
ERROR:  syntax error at or near "asdfs"
LINE 1: asdfs
    ^

La regola pratica è:se non hai ricevuto risposta da psql ma ti aspettavi almeno QUALCOSA, poi hai dimenticato il punto e virgola ;